Aide macro VBA

Bonjour à tous,

Voilà, je souhaiterais que ma macro déroule automatiquement ma formule sous certaines conditions.

Je n'arrive pas à l'implementer pour qu'elle fonctionne comme je le voudrais

J'aimerais que ma formule qui est en A2 soit recopiée jusqu'en A18.

Puis que ma formule qui est en A29 soit recopiée jusqu'en A35et ainsi de suite.

J'ai essayé de faire des steps mais ça ne fonctionne pas.

Est-ce que quelqu'un serait m'aider ?

Merci

Sub Expand()
Dim i As Integer, j As Integer
For i = 2 To Sheets("Data").Range("A65536").End(xlUp).Row Step 16
For j = 18 To Sheets("Data").Range("A65536").End(xlUp).Row Step 16
   Cells(i, 1).Select
    Selection.AutoFill Destination:=Range(("A" & i & ":A" & j))
    Range(("A" & i & ":A" & j)).Select
Next j
Next i
End Sub

Bonjour,

ceci te convient-il?

Sub Expand()
   Cells(2, 1).AutoFill Destination:=Range("A2:A17")
   Cells(18, 1).AutoFill Destination:=Range("A18:A35")
End Sub
h2so4 a écrit :

Bonjour,

ceci te convient-il?

Sub Expand()
   Cells(2, 1).AutoFill Destination:=Range("A2:A17")
   Cells(18, 1).AutoFill Destination:=Range("A18:A35")
End Sub

En fait, il faudrait que ça le fasse automatiquement parce qu'en suite le même schéma se répète:

Cells(36, 1).AutoFill Destination:=Range("A36:A52")

Cells(53 1).AutoFill Destination:=Range("A53:A69")

re-bonjour,

je te propose le code suivant, qui se base sur le contenu de la colonne "C" pour construire la formule

Sub Expand()
    i = 2
    While Cells(i, 3) <> ""
        co = Cells(i, 3)
        Cells(i, 1).Formula = "=SUMIFS('" & co & "'!$E$8:$E$24,'" & co & "'!$B$8:$B$24,'Data new data'!$G4)"
        i = i + 1
    Wend
End Sub
h2so4 a écrit :

re-bonjour,

je te propose le code suivant, qui se base sur le contenu de la colonne "C" pour construire la formule

Sub Expand()
    i = 2
    While Cells(i, 3) <> ""
        co = Cells(i, 3)
        Cells(i, 1).Formula = "=SUMIFS('" & co & "'!$E$8:$E$24,'" & co & "'!$B$8:$B$24,'Data new data'!$G4)"
        i = i + 1
    Wend
End Sub

Mon dieu presque maintenant je suis en train de chercher pour que mon G dans la formule s'incrémente du genre:

=SUMIFS('" & co & "'!$E$8:$E$24,'" & co & "'!$B$8:$B$24,'Data new data'!$G4 +1)

Pour que ça fasse que la formule est tiré

SUMIFS('" & co & "'!$E$8:$E$24,'" & co & "'!$B$8:$B$24,'Data new data'!$G5)

SUMIFS('" & co & "'!$E$8:$E$24,'" & co & "'!$B$8:$B$24,'Data new data'!$G6)

SUMIFS('" & co & "'!$E$8:$E$24,'" & co & "'!$B$8:$B$24,'Data new data'!$G7)

Je vais essayer de voir du côté de la formule offset et rowcount

Sub Expand()
    i = 2
    RowCount = 4
    While Cells(i, 3) <> ""
        co = Cells(i, 3)
        Cells(i, 1).Formula = "=SUMIFS('" & co & "'!$E$8:$E$24,'" & co & "'!$B$8:$B$24,'Data new data'!$G" & RowCount + 1 & ")"

        i = i + 1
    Wend
End Sub

Ca ne marche pas mais à force j'y crois

re-Bonjour,

je n'avais pas vu cette variable. Voici une correction.

Sub Expand()
    i = 2
    While Cells(i, 3) <> ""
        if cells(i,3)<>co then k=4
        co = Cells(i, 3)
        Cells(i, 1).Formula = "=SUMIFS('" & co & "'!$E$8:$E$24,'" & co & "'!$B$8:$B$24,'Data new data'!$G" & k & ")"
        i = i + 1
        k=k+1
    Wend
End Sub
h2so4 a écrit :

re-Bonjour,

je n'avais pas vu cette variable. Voici une correction.

Sub Expand()
    i = 2
    While Cells(i, 3) <> ""
        if cells(i,3)<>co then k=4
        co = Cells(i, 3)
        Cells(i, 1).Formula = "=SUMIFS('" & co & "'!$E$8:$E$24,'" & co & "'!$B$8:$B$24,'Data new data'!$G" & k & ")"
        i = i + 1
        k=k+1
    Wend
End Sub

Merci beaucoup Je n'aurai jamais réussi sans vous !

Rechercher des sujets similaires à "aide macro vba"