j'ai déplacé et supprimé mes "For I... "et "Next i ..."mais cela ne change rien .
Si j'examine la partie problématique de mon code , je me dis que
For i = 0 To 18
If Worksheets("A").Cells(18 + i, 2).Value = "" Then
derniere_ligne = i
i = 100
End If
Next i
signifie que si sur la feuille A, la cellule de la ligne 18 en colonne 2 est vide alors i est la dernière ligne cad celle à compléter.
Quand je ferme mon formulaire et que je l'ouvre ensuite pour saisir le reste de mes données, rien ne précise que des données sont présentes sur ma feuille.
Je dois donc l'indiquer.
Pour cela je vais devoir faire reperer ma dernière ligne complétée pour que mes données à la suite de celles déja présentes.
pour reperer ma dernière ligne , j'ai vu sur le forum que je devais rechercher le numéro de ligne avec le code
Range("a65000").End(xlUp).Row
Je suppose aussi que je dois mettre un Else quelque part.
ce qui donne
For i = 0 To 18
If Worksheets("A").Cells(18 + i, 2).Value = "" Then
derniere_ligne = i
i = 100
Else
derniere_ligne = Worksheets("A"). Range("i" & Rows.Count).End(xlUp).Row + 1
End If
Next i
Est-ce cohérent pour vous ?
je souhaiterai le tester mais comme je joue d'une malchance extraordinaire mon éditeur vba s'estt complètment déglingué et je ne parviens plus à afficher mes fenêtre projets, code et propriétes si d'ailleurs vous avez une idée à ce sujet
merci
Siga