Boucle (For Next) avec VBA

Bonjour

La boucle que j'ai créée ne réponds pas à mon besoin.

Je veux changer le contenu d'une cellule (B1 Feuil5) dans une feuille qui impacte d'autres cellules (Feuil5 O45, E51, I53) dans cette feuille. Et je veux reporter le contenu de ces cellules dans ma seconde feuille (Feuil6) pour former une liste. La mise à jour de ces cellules (dernière ligne en Feuil6) doivent se faire à chaque changement de ma cellule initiale (B1 Feuil 5).

Hors avec la macro que j'ai créée, seules les dernières valeurs s'affichent (les valeurs avec x=9)

Merci de votre aide

image

Bonjour Vir et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce et ntoamment :

  • Joignez (si possible) un fichier pour augmenter vos chances d'obtenir de l'aide en cliquant sur le bouton Fichier de l'éditeur. Si votre fichier est trop lourd ou contient des données personnelles, créez une version allégée de votre fichier avec juste assez d'informations pour permettre de comprendre votre problème. Dans tous les cas, ne postez JAMAIS de fichiers avec des informations personnelles ou confidentielles (cet utilitaire peut vous aider à les retirer).

Perso, je n'ai rien compris à votre demande

Cordialement

bonjour,

Or avec la macro que j'ai créée, seules les dernières valeurs s'affichent (les valeurs avec x=9)

Normal. Comme les variables ligneacoller1,2 et 3 ne changent pas, à chaque nouvelle valeur de x , les données précédentes dans ces cellules sont remplacées par les nouvelles et et l'on ne trouve finalement que celles correspondant à x=9.

Bonjour

J'ai défini "Ligneacoller 1,2, 3" comme étant les premières lignes de ma liste vide

lstrw1 = ws_Feuil6.Cells(Rows.Count, 6).End(xlUp).Row
lstrw2 = ws_Feuil6.Cells(Rows.Count, 7).End(xlUp).Row
lstrw3 = ws_Feuil6.Cells(Rows.Count, 8).End(xlUp).Row
Ligneacoller1 = lstrw1 + 1
Ligneacoller2 = lstrw2 + 1
Ligneacoller3 = lstrw3 + 1

Ce n'est pas la bonne définition ?

bonjour,

lstrw1 = ws_Feuil6.Cells(Rows.Count, 6).End(xlUp).Row

lstrw2 = ws_Feuil6.Cells(Rows.Count, 7).End(xlUp).Row

lstrw3 = ws_Feuil6.Cells(Rows.Count, 8).End(xlUp).Row

Ligneacoller1 = lstrw1 + 1

Ligneacoller2 = lstrw2 + 1

Ligneacoller3 = lstrw3 + 1

Ce n'est pas la bonne définition ?

Comme je ne sais pas ce que tu veux faire, je ne peux pas répondre à cette question.

Cependant si tu veux afficher les résultats pour toutes les valeurs de X (de 2 à 9), je pense que ton code devrait incrémenter tes variables ligneacoller1,2 et 3 dans la boucle

for x=2 to 9

ws....cells(ligneacoller1,6)=....

ligneacoller=ligneacoller+1

next x

J'aurais bien corrigé ton code mais je ne corrige pas des copies d'écran.

Yess j'ai trouvé merci pour ton aide h2so4 !!
Rechercher des sujets similaires à "boucle next vba"