Me voici de nouveau bloqué avec mes USF. J'ai vraiment du mal avec les incrémentations
Je voudrais qu'à chaque fois que j'ouvre mon USF , il y ait un saut de ligne dans mon ficher excel de façon à ce que à la première ouverture la valeur affichée dans la textbox6, s'inscrive en J17, puis à la seconde ouverture en J18 ... ...
Bonjour François et merci pour ton aide. Le problème n'est toujours pas résolu car aucune incrémentation ne se fait... la valeur s'écrit toujours en J 16. Aussi le résultat de l'opération mathématique ( textbox1 - textbox 5) / textbox 1 * 100 ne s'affiche pas dans la textbox6 de mon USF.
Bonsoir
le problème vient de cette ligne
dl1 = Cells(32, 1).End(xlUp).Row + 1
qui est dans l'userform
remplace la par
dl1 = Cells(32, 10).End(xlUp).Row + 1
Par contre y'a un truc que je comprends pas : Pourquoi la valeur de la textbox6 s'affiche comme par magie en ligne 18 ? Ce n'est spécifié nulle part dans le code. Je pense comprendre le dl1 = Cells(32, 10).End(xlUp).Row + 1 qui signifie dernière ligne = ligne 32 colonne 10, mais je vois pas comment la valeur s'affiche directement à la 18ème ligne !
De plus, quand je supprime le tableau et que je lance l'USF, ca fait pareil a savoir que la 1ere valeur s'affiche en J18.
Enfin, si j'utilise ton code dans une autre feuille excel, la valeur de la textbox 6 va s'afficher en colonne 10 (donc la J) mais à la ligne 2 cette fois ! Pourquoi ??????
Bonjour
Détaillons
Cells(32, 10).End(xlUp).Row
cellule ligne 32 colonne 10
end: derniere
xlup: en remontant
row: ligne
Donc en partant de la ligne 32 excel remonte jusqu'à la dernière ligne non vide...
+1 pour ecrire à la ligne suivante
Bonjour
Détaillons
Cells(32, 10).End(xlUp).Row
cellule ligne 32 colonne 10
end: derniere
xlup: en remontant
row: ligne
Donc en partant de la ligne 32 excel remonte jusqu'à la dernière ligne non vide...
+1 pour ecrire à la ligne suivante
Et pour compléter l'explication de Fanfan, je précise que tu rencontreras plus souvent dans des macros la ligne suivante : Cells(65536, 10).End(xlUp).Row
qui part de la dernière ligne de la feuille, la ligne 65536 dans les versions antérieures à Excel 2007, et remonte jusqu'à la première cellule non vide.
Mais comme dans ton fichier tu souhaites incrémenter à l'intérieur d'un "tableau fermé", j'ai simplement remplacé la limite de ta feuille Excel, par la limite basse de ton tableau (en ligne 32).
En revanche, désolé de t'avoir induit en erreur dans le fichier que j'avais préparé, en oubliant le zéro :
Cells(32, 10).End(xlUp).Row
Mais Fanfan a corrigé et je le remercie.