Macro calcul en boucle et report de résultats les uns à la suite des autres

JulB

XLDnaute Nouveau
Bonjour,

Dans ma cellule A4 j'ai un paramètre permettant d'afficher des résultats dans G4 et G6. Est-il possible d'avoir une macro qui change la valeur de A4 par 10 autres valeurs inscrites de B2 à B11 et recopie les valeurs qui s'affichent dans G4 et G6 pour chaque valeur présente de B2 à B11 dans la colonne I?

Ça me rendrait un grand service. Merci.
 

mécano41

XLDnaute Accro
Bonjour,

Pas sûr d'avoir compris...il faudrait dire ce qui va déclencher le changement. Dans l'exemple joint, c'est un bouton...

EDIT : je suis sûr que je n'ai pas compris...tu parles de colonne I...

Cordialement
 

Pièces jointes

  • essai1.xlsm
    19.1 KB · Affichages: 45
Dernière édition:

JulB

XLDnaute Nouveau
Bonjour,

Pas sûr d'avoir compris...il faudrait dire ce qui va déclencher le changement. Dans l'exemple joint, c'est un bouton...

EDIT : je suis sûr que je n'ai pas compris...tu parles de colonne I...

Cordialement
Merci Mécano41. Pas mal déjà mais je voudrais en plus que ça me recopie les valeurs calculées en G4 et G6 en face de chaque valeur de la colonne B. Sinon le changement de ligne est déjà bon. Merci
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Comme ça par exemple, dans le module de la feuille :
VB:
Private Sub CommandButton1_Click()
   Dim Cel As Range, TDon(), TRés(), L&
   TDon = Me.[B2:B11].Value
   ReDim TRés(1 To UBound(TDon, 1), 1 To 2)
   For L = 1 To UBound(TDon, 1)
      Cells(4, "A").Value = TDon(L, 1)
      TRés(L, 1) = Cells(4, "G").Value
      TRés(L, 2) = Cells(6, "G").Value
      Next L
   Me.Cells(2, "C").Resize(UBound(TRés, 1), 2).Value = TRés
   End Sub
 

JulB

XLDnaute Nouveau
Bonjour.
Comme ça par exemple, dans le module de la feuille :
VB:
Private Sub CommandButton1_Click()
   Dim Cel As Range, TDon(), TRés(), L&
   TDon = Me.[B2:B11].Value
   ReDim TRés(1 To UBound(TDon, 1), 1 To 2)
   For L = 1 To UBound(TDon, 1)
      Cells(4, "A").Value = TDon(L, 1)
      TRés(L, 1) = Cells(4, "G").Value
      TRés(L, 2) = Cells(6, "G").Value
      Next L
   Me.Cells(2, "C").Resize(UBound(TRés, 1), 2).Value = TRés
   End Sub
T'es une bénédiction Dranreb. C'est exactement ce que je cherchais. Merci beaucoup. Très bonne journée
 

Discussions similaires

Statistiques des forums

Discussions
312 195
Messages
2 086 078
Membres
103 111
dernier inscrit
Eric68350