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

  • Initiateur de la discussion Initiateur de la discussion zebanx
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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:
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:
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")
 
Re : VBA : boucle AutoFill [A-C] - last Row [D] sur plusieurs onglets

Merci à tous et quelle rapidité à traiter, 😎

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

Bon après midi à tous, votre aide est très très utile.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour