Copie automatique de colonnes dans une autre feuille

Bonjour à tous,

Voilà je suis nul en macro et mon chef me demande de créer un classeur avec 2 feuilles. Je dois recopier les colonnes de la 1er feuille sur la 2eme. Mais pour éviter de recopier à chaque fois les données, je souhaiterai que les colonnes A jusqu’à I de la 1ere feuille soit copier automatiquement sur la 2eme feuilles à chaque saisie. J'ai mis mon fichier en pièce jointe en espérant que vous aurez une solution pour moi.

Merci pour votre aide.

Bonjour ZAG, le forum,

A tester:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

   Dim dlg As Integer
   Dim i As Integer
   Dim lig1 As Integer

 dlg = Sheets("Entrées").Range("A65536").End(xlUp).Row      'dernière ligne non vide de Entrées
lig1 = Sheets("Facture").Range("A65536").End(xlUp).Row      'dernière ligne non vide de Facture

If lig1 <> 1 Then Sheets("Facture").Range("A2:O" & lig1).ClearContents 'on supprime les données de Facture
   lig1 = 2

For i = 4 To dlg
If Sheets("Entrées").Range("A" & i) <> "" Then Sheets("Entrées").Range("A" & i & ":I" & i).Copy Sheets("Facture").Range("A" & lig1)
lig1 = lig1 + 1
Next

End Sub

Cordialement,

Merci beaucoup xorsankukai

C'est exactement ça !!!!! , Je n'aurais pas pu y arriver.

Cordialement

Petit soucis, la colonne I ne veux pas se copier feuille 2, elle se met en Valeur ( j'ai rajouter une formule de calcul). De plus je n'arrive pas à modifier le nom des colonnes dans la feuille 1 pour les sorties et je n'arrive pas a mettre desformules de calcul dans les colonnes

L N et O de la feuille 2, elles ne restent pas.

Merci de votre aide.

Re,

Fichier modifié:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

   Dim lig1 As Integer
       lig1 = Sheets("Facture").Range("A65536").End(xlUp).Row      'dernière ligne non vide de Facture

       If lig1 <> 1 Then Sheets("Facture").Range("A4:I" & lig1).ClearContents 'on supprime les données de Facture de A à I
          lig1 = 2

   Dim DL As Integer
       DL = Sheets("Entrées").Range("A65536").End(xlUp).Row   'Calcul de la dernière ligne du tableau

    Sheets("Entrées").Range("A4:I" & DL).Copy   'Copy de de toute les données

    Sheets("Facture").Range("A4:I" & DL).PasteSpecial Paste:=xlPasteValues  'Coller les données sans les formules

End Sub

Bonjour,

Ça fonctionne mais je n’arrive pas à modifier le nom des colonnes sorties dans la feuille 1, ça me met volume2 date2, je n’arrive pas enlever le 2.

Cordialement

Bonjour ZAG,

ça me met volume2 date2, je n’arrive pas enlever le 2.

Pour contourner ce petit souci, j'ai rajouter un espace après le nom de la colonne

Peut-être que je m'y prend mal pour traiter ton problème, je suis loin de connaitre toutes les subtilités d'excel,

Donc si un pro passe par là, il y a surement moyen de faire mieux

Cordialement,

Ok, t’inquiètes, tu m’a déjà bien aidé, je vais me débrouiller comme ça.

Merci encore.

Rechercher des sujets similaires à "copie automatique colonnes feuille"