Automatisation VBA boucle for
lulu
-
chossette9 Messages postés 6855 Date d'inscription Statut Contributeur Dernière intervention -
chossette9 Messages postés 6855 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je me trouve actuellement face a une difficulté si quelqu'un peut m'aider.
en effet j'aimerais pour une feuille excel contenant des chiffres faire la différence des chiffre de la premier ligne avec ceux de la deuxieme ligne et mettre le résulta dans l'autre feuille excel. voici un exemple illustratif:
A B C D
8 3 5 7 est la ligne 1
2 4 2 4 est la ligne 2
ainsi dans la feuille 2 j'aurais comme resultat:
A B C D
6 -1 3 3 est la ligne 1 de feuil 2
mon bout de code est le suivant :
Worksheets(2).Range("A1").Value = Worksheets(1).Range("A1").Value - Worksheets(1).Range("A2").Value
Malheureusement il ne marche que pour une cellul. pas tres fort a construire des boucle qui pourrais m'aider a automatiser le resulta je solicite votre aide .
Cordialement.
Je me trouve actuellement face a une difficulté si quelqu'un peut m'aider.
en effet j'aimerais pour une feuille excel contenant des chiffres faire la différence des chiffre de la premier ligne avec ceux de la deuxieme ligne et mettre le résulta dans l'autre feuille excel. voici un exemple illustratif:
A B C D
8 3 5 7 est la ligne 1
2 4 2 4 est la ligne 2
ainsi dans la feuille 2 j'aurais comme resultat:
A B C D
6 -1 3 3 est la ligne 1 de feuil 2
mon bout de code est le suivant :
Worksheets(2).Range("A1").Value = Worksheets(1).Range("A1").Value - Worksheets(1).Range("A2").Value
Malheureusement il ne marche que pour une cellul. pas tres fort a construire des boucle qui pourrais m'aider a automatiser le resulta je solicite votre aide .
Cordialement.
1 réponse
-
Bonjour,
Sub SoustraitLignes() Dim dercol as Integer Dim nbcol As Interger dercol = Range("A" & columns.Count).End(xlToLeft).Column for nbcol = 1 to Dercol Worksheets(2).Cells(1,nbcol) = Worksheets(1).Cells(1, nbcol) - Worksheets(1).Cells(2,nbcol) Next End Sub
Cordialement.-
salut
merci pour ta reponse chaussette9. mais ton code fais la meme chose que le mien c'est a dire il ne donne que le résulta de la difference des deux lignes de la premiere colone. le résultat des autres colone ne sont pas afficher. car en une seul compilation je veux tous ces résultat c'est a dir une automatisation.
Pitier y'aurais t'il quelqu'un pour m'aider??????? -
-
-
une méthode différente, qui ne fonctionne que s'il n'y a pas de cases vides dans la ligne A :
Sub SoustraitLignes() Dim dercol As Integer Dim nbcol As Integer 'détermine la dernière colonne de données dercol = Worksheets(1).Range("A" & 1).End(xlToRight).Column 'pour chaque colonne For nbcol = 1 To dercol ' on soustrait la ligne 2 à la ligne 1, et on affiche le résultat en ligne 2 de la seconde feuille Worksheets(2).Cells(1, nbcol) = Worksheets(1).Cells(1, nbcol) - Worksheets(1).Cells(2, nbcol) Next nbcol End Sub
-