VBA : boucle AutoFill [A-C] - last Row [D] sur plusieurs onglets

zebanx

XLDnaute Accro
Bonjour,

Bien novice en VBA, pourriez-vous s'il vous plait m'aider pour coder une boucle VBA sur le fichier suivant ?

Objectif : automatiser le remplissage des colonnes A-C qui contiennent en B une formule sur la plage qui va jusqu'à la dernière ligne active de la colonne D (ou du range D : J).
Les onglets ne contiennent (évidemment -)) pas le même nombre de ligne

Le code suivant me donne une erreur 1004

Sub ColonneAC()
Dim i As Byte
For i = 1 To Worksheets.Count
Range("A2:C2").Select
Selection.AutoFill Destination:=Range("A3:C") & Range("D65536").End(xlUp).Row
Range("A2:C" & Range("D65536").End(xlUp).Row).Select
Range("A1").Select
Next i
End Sub


Toutes les méthodes de boucle (loop, while, case..) me seront bien utiles, je vous remercie par avance pour votre aide.

Bonne fin de journée, cdlt
thierry
 

Pièces jointes

  • Recopier_formule A-C_onglets multiples.zip
    54.4 KB · Affichages: 38

Staple1600

XLDnaute Barbatruc
Re : VBA : boucle AutoFill [A-C] - last Row [D] sur plusieurs onglets

Bonjour à tous_________________________EDITION: Salut Hasco ;)

zebanx
A vue de nez, je modifierai ainsi
(non testé, je te laisse ce soin ;))
Code:
Sub ColonneAC()
Dim i As Byte
For i = 1 To Worksheets.Count
sheets(i).Range("A2:C2").AutoFill Destination:=sheets(i).Range("A3:C") & sheets(i).Range("D65536").End(xlUp).Row
Next i
End Sub
 
Dernière édition:
G

Guest

Guest
Re : VBA : boucle AutoFill [A-C] - last Row [D] sur plusieurs onglets

Bonjour,


sera-ce suffisant?
Code:
Sub ColonneAC()
    Dim sh As Worksheet
    Dim derLigne As Long
    For Each sh In ThisWorkbook.Worksheets
        With sh
            derLigne = .Range("D" & Rows.Count).End(xlUp).Row
            .Range("A2:C2").Copy Destination:=.Range("A3:C" & derLigne)
            Application.CutCopyMode = False
        End With
    Next sh
    Application.CutCopyMode = False
End Sub

Copy incrémentée (AutoFill) ou Copy Simple? J'ai supposé (à cause du code société) qu'une copie simple était necessaire.

A+

[Edit] Hello l'ami à la madeleine sensible...arf:)
 
Dernière modification par un modérateur:

Dranreb

XLDnaute Barbatruc
Re : VBA : boucle AutoFill [A-C] - last Row [D] sur plusieurs onglets

Bonjour
Le problème c'est que votre formule en B2 c'est =A2&D2 (qui se convertit en FormulaR1C1 = "=RC[-1]&RC[2]"
Elle donnera des résultats différents aux lignes suivantes puisque ce n'est pas =$A$2&$D2 (converti en .FormulaR1C1 = "=R2C1&RC4")
 

zebanx

XLDnaute Accro
Re : VBA : boucle AutoFill [A-C] - last Row [D] sur plusieurs onglets

Merci à tous et quelle rapidité à traiter, :cool:

@staple1600 : erreur 1004 aussi !
@haso : impecc
@danreb : merci de la remarque

Bon après midi à tous, votre aide est très très utile.
 

Statistiques des forums

Discussions
312 755
Messages
2 091 710
Membres
105 054
dernier inscrit
uzaoui