Boucles imbriquées dans vba pour excel

Signaler
Messages postés
209
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
15 juillet 2009
-
Messages postés
1
Date d'inscription
mardi 16 décembre 2008
Statut
Membre
Dernière intervention
19 décembre 2008
-
bonjour
je travaille dans excel, j'ai un tableau avec des deviss et je dois remplir le tableau avec un imputbox. je tente de faire une boucle pour m'eviter de repeter l'operation a chaque devise mais je n'y arrive pas. est ce que vous pouvez m'aider ? voila comment se presente le tableau

               franc     euro    livre    dollar   yen 

franc         1      

euro                        1         

livre                                    1   

dollar                                                 1

yen                                                              1

la boucle que j'ai faite se presente un peu de la sorte

et donne ceci :
entree = inputbox("entree la valeur de " range("A2").value & " vers " & range("B4").value)
ce qui donne entrez la valeur de franc vers lvire
et donc je chercher a faire deux boucles imbriques, de telle sorte que le message se deplace pour chaque valeur et une fois qu'il est arrivé à yen il passe à la ligne suivante
entree = inputbox("entree la valeur de " range("A3").value & " vers " & range("B2").value)
ce qui donne entrez la valeur de euro vers franc

merci beaucoup

1 réponse

Messages postés
1
Date d'inscription
mardi 16 décembre 2008
Statut
Membre
Dernière intervention
19 décembre 2008

Salut,

essaie quelque chose comme :

for i = 2 to 6             'avec 2 pour le franc et 6 pour le yen
   for j = 2 to 6
      if i=j then
         cells(i,j).value=1    'pour éviter de saisir ton 1 quand tu as les 2 mêmes monnaies
      else
         cells(i,j).value=inputbox("Entrez la valeur de " & cells(i,1).value & " vers " & cells(1,j).value)
      end if
   next j
next i

Cells est plus simple à gérer car les 2 coordonnées sont numériques :)

Modifie ce code en fonction de l'ordre que tu veux... (ligne par ligne ou colonne par colonne)