J'ai pensé à quelque chose. Je pense que en partant de A24, c'était la bonne solution.
Seulement, en A48, j'ai quelque chose d'écrit, donc lui automatiquement il écrit en A49.
Il faudrais que je le limite à écrire entre A25 et A45 et que si il dépasse A45 alors il crée une nouvelle feuille en récupérant Entete, Date... et en écrivant dans la nouvelle feuille en A25.
Quand même quelque chose que je ne comprend pas
Pour le moment, j'ai :
lignevide = xlSheet.Range("A23").End(xlDown).Row
Donc si je suis mon raisonnement qui n'est peut être pas le bon:
Au début on dit que Ligne vide s'accroche en A23 et qu'il cherche la prochaine ligne vide.
Comme j'ai une entete en A24, il devrais me dire A25. Mais ici il me retourne A24???
Bref, après je lui dit de toute façon que si :
1 2
| If lignevide < 25 Then
lignevide = 25 |
Donc là, c'est logique, il colle en 25.
Je simule un nouvel ajout
J'ai quelque chose en A24, quelque chose en A25, il devrais me dire que ligne vide = A26?
Eh bien non, ligneVide est encore égal a A24, donc il me récrase ce que j'avais collé précédement en A25.
C'est pour ça que ça n'incrémente pas. Je pense que ce code :
lignevide = xlSheet.Range("A23").End(xlDown).Row
Ne me permet pas de chercher la dernière ligne vide.
Maintenant autre Test
Si a la place de A23, je mets :
lignevide = xlSheet.Range("A24").End(xlDown).Row
Même si j'ai quelque chose en A25, il vient me dire que dernière ligne = A48, là où sur mon bon de commande vierge, il y a "Responsable Maintenance".
Qui peux m'expliquer ce qui ne va pas parce que là je ne vois pas comment il faut faire...
En fait ce qui se passe, c'est que ce code me renvoi la première ligne qu'il trouve sur son chemin et non pas la dernière ligne non vide qu'il trouve.
Partager