Microsoft 365 Macro copié collé valeur se trouvant dans d'autres feuilles

Croc_de_loups

XLDnaute Junior
Bonjour,

Suite à de nombreuses recherches sur différents forums, je ne parviens pas à réaliser ma macro.
Je débute dans le codage VBA.

Je cherche une macro qui me permettrait de copier les N° de commandes placé dans chaque feuilles trier par mois et de les collé à la suite dans la feuille "Suivi commande" dans la colonne A.

J'ai essayé une macro mais cela fonctionne qu'à partir du mois de Janvier, après, je n'arrive pas à trouvé une suite à ma macro afin que les N° de commandes des autres mois se colle à la ligne juste en dessous de la dernière commande du mois dernier.
Voici la macro que j'utilise :
Sub Nouveau_Test()

Worksheets("Commande Janvier").Range("A:A").Copy _
Destination:=Worksheets("Suivi commandes").Range("A:A")

Worksheets("Commande Février").Range("A:A").Copy _
Destination:=Worksheets("Suivi commandes").Range("A:A")




End Sub


Je ne pense pas avoir été clair, je vous place ci-joint un fichier Excel test qui pourrait peut être vous aider.
 

Pièces jointes

  • Macro copié collé commandes mois.xlsx
    16.4 KB · Affichages: 8
Solution
Et si vous voulez supprimer les doublons éventuels faites :
VB:
Sub Insérer()
    [A:A].ClearContents: [K:L].ClearContents: N = 2
    [A1] = "N° de commande"
    Application.ScreenUpdating = False
    For Each F In Worksheets                            ' pour toutes les feuilles
        If F.Name <> "Suivi commande" Then              ' Hormi feuille de suivi
            DLSuivi = 1 + [A65500].End(xlUp).Row        ' Première ligne vide
            DL = Sheets(F.Name).[A65500].End(xlUp).Row  ' Dernière ligne occupée de la feuille
            tablo = Sheets(F.Name).Range("A1:A" & DL)   ' Mettre la liste dans un tableau et la coller
            Cells(DLSuivi, "A").Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo
            Cells(N, "K") = F.Name...

Croc_de_loups

XLDnaute Junior
J'ai essayé comme vous me l'avez dis, j'ai modifié tout ce que vous m'avez dis et il m'indique qu'il y a une incomptabilité de type
Je ne comprend pas
Est-ce que vous avez pris en compte que j'ai créé une feuille pour chaque mois et que dans ces feuille là se trouve des N° de commandes que je veux que s'ils ne sont pas existantes il les copie dans la feuille "Suivi commandes"?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Est-ce que vous avez pris en compte que j'ai créé une feuille pour chaque mois et que dans ces feuille là se trouve des N° de commandes que je veux que s'ils ne sont pas existantes il les copie dans la feuille "Suivi commandes"?
Pouvez vous me dire où vous avez spécifier ça :
" je veux que s'ils ne sont pas existantes il les copie dans la feuille "Suivi commandes"?"

Moi je n'ai vu que vos spécifications du post #1 :
Je cherche une macro qui me permettrait de copier les N° de commandes placé dans chaque feuilles trier par mois et de les collé à la suite dans la feuille "Suivi commande" dans la colonne A.

D'autre part dans la liste que je construit il n'y a pas de doublons donc pas de souci de ce type même si le test de doublons n'est pas fait, regardez ce fichier en xlsx . ( sans macro pour passer la sécurité )
 

Pièces jointes

  • Macro copié collé commandes mois V2.xlsx
    18.4 KB · Affichages: 1

Phil69970

XLDnaute Barbatruc
Re

Cela n'est pas dans la demande de départ
Est-ce que vous avez pris en compte que j'ai créé une feuille pour chaque mois et que dans ces feuille là se trouve des N° de commandes que je veux que s'ils ne sont pas existantes il les copie dans la feuille "Suivi commandes"?

Perso je m’arrête là avec ce fil car je sais que ma macro fonctionne sur le fichier du demandeur (post #1) et idem avec la macro de Sylvain qui fonctionne aussi.

@Phil69970
 

Croc_de_loups

XLDnaute Junior
Pouvez vous me dire où vous avez spécifier ça :
" je veux que s'ils ne sont pas existantes il les copie dans la feuille "Suivi commandes"?"

Moi je n'ai vu que vos spécifications du post #1 :


D'autre part dans la liste que je construit il n'y a pas de doublons donc pas de souci de ce type même si le test de doublons n'est pas fait, regardez ce fichier en xlsx . ( sans macro pour passer la sécurité )
Excusez moi j'ai oublié de le précisé. Pardonnez mon erreur.
La macro que vous avez placé sur ce fichier (je n'y ai pas accès avec le PC de l'entreprise) à l'aire de fonctionner je vais tester sur mon PC perso ce weekend afin de le tester et s'il fonctionne j'essaierai avec mon PC de travail.

Bonne fin de journée à vous
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Et si vous voulez supprimer les doublons éventuels faites :
VB:
Sub Insérer()
    [A:A].ClearContents: [K:L].ClearContents: N = 2
    [A1] = "N° de commande"
    Application.ScreenUpdating = False
    For Each F In Worksheets                            ' pour toutes les feuilles
        If F.Name <> "Suivi commande" Then              ' Hormi feuille de suivi
            DLSuivi = 1 + [A65500].End(xlUp).Row        ' Première ligne vide
            DL = Sheets(F.Name).[A65500].End(xlUp).Row  ' Dernière ligne occupée de la feuille
            tablo = Sheets(F.Name).Range("A1:A" & DL)   ' Mettre la liste dans un tableau et la coller
            Cells(DLSuivi, "A").Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo
            Cells(N, "K") = F.Name: Cells(N, "L") = UBound(tablo, 1): N = N + 1
        End If
    Next F
    Cells(1, "K") = "Suivi de commande": Cells(1, "L") = [A65500].End(xlUp).Row - 1
    ' Suppression des doublons
    ActiveSheet.Range("$A$1:$A" & [A65500].End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlYes
End Sub
La dernière ligne de code supprime les doublons de la colonne A.
 

Croc_de_loups

XLDnaute Junior
Et si vous voulez supprimer les doublons éventuels faites :
VB:
Sub Insérer()
    [A:A].ClearContents: [K:L].ClearContents: N = 2
    [A1] = "N° de commande"
    Application.ScreenUpdating = False
    For Each F In Worksheets                            ' pour toutes les feuilles
        If F.Name <> "Suivi commande" Then              ' Hormi feuille de suivi
            DLSuivi = 1 + [A65500].End(xlUp).Row        ' Première ligne vide
            DL = Sheets(F.Name).[A65500].End(xlUp).Row  ' Dernière ligne occupée de la feuille
            tablo = Sheets(F.Name).Range("A1:A" & DL)   ' Mettre la liste dans un tableau et la coller
            Cells(DLSuivi, "A").Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo
            Cells(N, "K") = F.Name: Cells(N, "L") = UBound(tablo, 1): N = N + 1
        End If
    Next F
    Cells(1, "K") = "Suivi de commande": Cells(1, "L") = [A65500].End(xlUp).Row - 1
    ' Suppression des doublons
    ActiveSheet.Range("$A$1:$A" & [A65500].End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlYes
End Sub
La dernière ligne de code supprime les doublons de la colonne A.
D'accord, merci pour ton aide sylvanu j'essaiera ça sur mon PC perso ce weekend !

Bonne fin de journée à toi
 

Croc_de_loups

XLDnaute Junior
Et si vous voulez supprimer les doublons éventuels faites :
VB:
Sub Insérer()
    [A:A].ClearContents: [K:L].ClearContents: N = 2
    [A1] = "N° de commande"
    Application.ScreenUpdating = False
    For Each F In Worksheets                            ' pour toutes les feuilles
        If F.Name <> "Suivi commande" Then              ' Hormi feuille de suivi
            DLSuivi = 1 + [A65500].End(xlUp).Row        ' Première ligne vide
            DL = Sheets(F.Name).[A65500].End(xlUp).Row  ' Dernière ligne occupée de la feuille
            tablo = Sheets(F.Name).Range("A1:A" & DL)   ' Mettre la liste dans un tableau et la coller
            Cells(DLSuivi, "A").Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo
            Cells(N, "K") = F.Name: Cells(N, "L") = UBound(tablo, 1): N = N + 1
        End If
    Next F
    Cells(1, "K") = "Suivi de commande": Cells(1, "L") = [A65500].End(xlUp).Row - 1
    ' Suppression des doublons
    ActiveSheet.Range("$A$1:$A" & [A65500].End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlYes
End Sub
La dernière ligne de code supprime les doublons de la colonne A.
Bonjour et encore merci !
J'ai essayé ce weekend votre macro sur mon PC perso et cela fonctionne et c'est exactement ce qu'il me fallait !
Dernière question, j'ai ajouté votre macro sur le tableur mais il prend compte toute les feuilles, n'y aurait-il pas un moyens de lui dire quelle feuille prendre ou ne pas prendre ?

Je vous met ci dessous un fichier exemple, sur ce fichier j'aimerais qu'il ne prenne pas en compte la feuille nommé "Revenu commande" est-il possible de le lui faire précisé ?

Merci pour votre aide et bonne après-midi à vous !
 

Pièces jointes

  • Classeur suivi commande.xlsm
    33.8 KB · Affichages: 1

Discussions similaires

Statistiques des forums

Discussions
313 275
Messages
2 096 759
Membres
106 744
dernier inscrit
sshkm16