bonjour Dhany,
merci pour ton aide. je viens d'essayer tes deux propositions.
Il y a un leger mieux, mais ce n'est pas encore le top.
En fait une premiere verification est faite sur 316 lignes. mais ce nombre est aleatoire
il peut y en avoir plus ou moins 316.
j'ai donc mis au regard de chaque ligne un numero qui est comparé à 316.
si le numero est supérieur ou egal la macro s'arrete.
Dans mon cas, la marcro s'execute bien , mais elle s'arrete au numéro 284 dans
les versions que tu me proposes.
le fichier etant lourd (meme en l'epurant) je ne sais pas comment faire
voici le code qui doit tourner en boucle, si cela peut aider
Sub copy_export()
''1ere verification pour savoir si la valeur du compteur n'est pas supérieure ou egale
''à la valeur maxi du nombre de formules dans la base
If Sheets("export_formules").Range("c2").Value >= Sheets("export_formules").Range("f2").Value Then
Exit Sub
Else
''2eme verification pour savoir si la formule est transferable oui ou non
If Sheets("export_formules").Range("e2").Value <> 1 Then
''si non ajout d'une unité au compteur
Sheets("export_formules").Range("c2").Value = Sheets("export_formules").Range("c2").Value + 1
copy_export
Else
''si oui copy de la formule dans la feuille export (2)
Sheets("export_formules").Range("export_copy1").Copy
Sheets("Export (2)").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
'Sheets("Export (2)").Range("a65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("export_formules").Range("c2").Value = Sheets("export_formules").Range("c2").Value + 1
''retour au debut de la macro
copy_export
End If
End If
End Sub