Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro copier colonne intégrale avec mise en forme

  • Initiateur de la discussion Initiateur de la discussion CHAKAL37
  • 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 !

C

CHAKAL37

Guest
Bonjour a tous,

je fais appel a vous car j'ai un problème que je n'ai pas encore résolu !
Je dois créer un fichier permettant un suivi de chantier selon différentes phases.
Pour cela j'ai 4 onglets (Général, Etudes, Travaux et Facturation).
Dans l'onglet général, j'ai des informations ( des colonnes entières en fait ) à reprendre dans les autres onglets.
Pour cela j'ai un bout de code que je n'ai testé que sur mon premier onglet et qui semblait me convenir :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
Sheets("Etudes").Range("A:G").ClearContents
Sheets("Général").Range(Range("A1"), Range("A1").End(xlDown)).Copy Destination:=Sheets("Etudes").Range("A1")
Sheets("Général").Range(Range("B1"), Range("B1").End(xlDown)).Copy Destination:=Sheets("Etudes").Range("B1")
Sheets("Général").Range(Range("C1"), Range("C1").End(xlDown)).Copy Destination:=Sheets("Etudes").Range("C1")
Sheets("Général").Range(Range("D1"), Range("D1").End(xlDown)).Copy Destination:=Sheets("Etudes").Range("D1")
Sheets("Général").Range(Range("E1"), Range("E1").End(xlDown)).Copy Destination:=Sheets("Etudes").Range("E1")
Sheets("Général").Range(Range("F1"), Range("F1").End(xlDown)).Copy Destination:=Sheets("Etudes").Range("F1")
Sheets("Général").Range(Range("J1"), Range("J1").End(xlDown)).Copy Destination:=Sheets("Etudes").Range("G1")
Application.ScreenUpdating = True
End Sub

sauf que la recopie s’arrête dès qu'une cellule vide est rencontré dans la colonne ....
Je veux une recopie complète de la colonne sans distinction .... Une idée .... ça doit être simple mais je trouve pas !

Merci de votre contribution !

Cdt
 
Bonjour CHAKAL37,

Rechercher plutôt la dernière ligne non vide :

Au lieu de
VB:
Sheets("Général").Range(Range("A1"), Range("A1").End(xlDown)).Copy

essayer :
VB:
Sheets("Général").Range(Range("A1"), Range("A" & Rows.Count).End(xlup)).Copy

Attention ! le terme Sheets("Général") ne s'applique qu'au premier Range. Si vous n'êtes pas sur la feuille "Général", Range("A1") et Range("A" & Rows.Count).End(xlup) concerne la feuille active et non la feuille "Général". Vous risquez une erreur d'exécution.

Le plus simple est d'employer un With :
VB:
With sheets("Général")
   .Range(.Range("A1"), .Range("A" & .Rows.Count).End(xlup)).Copy Destination:=Sheets("Etudes").Range("A1")
end with
 
Dernière édition:
Bonjour à tous
Bonjour a tous,
Dans l'onglet général, j'ai des informations ( des colonnes entières en fait ) à reprendre dans les autres onglets.

Bonjour à tous et "Bonne année"
Ceci peut être, si j'ai bien compris
Code:
Sub test()
Sheets("Etudes").Range("A:G").ClearContents
With Sheets("Général")
  .Columns("A:F").Copy Sheets("Etudes").[a1]
  .Columns("J").Copy Sheets("Etudes").[g1]
End With
End Sub
Quant à le mettre sur un " Worksheet_SelectionChange" ....j'ai un doute
 


Bonjour et merci pour ta contribution.
j'ai un soucis d'erreur de compilation lorsque je rajoute le with - End With ... une fin d'instruction est attendu ....
moi pas comprendre pourquoi !
Par contre pour le reste c'est niquel ! ça marche comme je le veux !
 

Merci pour ta contribution ,
je vais essayer sur les autres onglets ou je dois faire de la recopie.
 
Merci pour ta contribution ,
je vais essayer sur les autres onglets ou je dois faire de la recopie.
RE...
Pour les autres onglets 🙂
VB:
Sub test()
Dim Sh
For Each Sh In Array("Etudes", "Travaux", "Facturation")
With Sheets(Sh)
  .Range("A:G").ClearContents
  Sheets("Général").Columns("A:F").Copy .[a1]
  Sheets("Général").Columns("J").Copy .[g1]
End With
Next
End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
333
Réponses
7
Affichages
796
Réponses
2
Affichages
947
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…