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

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
Le système m'indique une erreur sur votre macro sur cette ligne :

Cells(DLSuivi, "A").Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo
Pouvez vous m'expliquer ce qu'elle fait et s'il y a des choses à modifier?
Pas la peine de vous emportez je ne connait pas du tout la macro alors il est normal que je n'arrive pas à tout suivre comme vous alors svp veuillez à vous calmez merci
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Elle cherche la dernière ligne de la liste N° de commande.
Et chez moi cela marche très bien.

Est qu'un fichier zip est bloqué par la sécurité ?
Si non prenez cette PJ. C'est le même fichier zippé.
 

Pièces jointes

  • Macro copié collé commandes mois V2.zip
    21.3 KB · Affichages: 1

Croc_de_loups

XLDnaute Junior
Elle cherche la dernière ligne de la liste N° de commande.
Et chez moi cela marche très bien.

Est qu'un fichier zip est bloqué par la sécurité ?
Si non prenez cette PJ. C'est le même fichier zippé.
Je n'arrive toujours pas a utilisé votre macro sur votre fichier à cause de la sécurité de l'entreprise j'essaierais sur mon pc perso. En attendant peut-être pourriez vous m'indiquez si je fais bien comme vous ou non.

Merci à vous
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
ok.
1- Vous prenez le fichier du post #1 ( le votre pour être sur du fichier )
2- Vous faites ALT+F11 pour ouvrir l'éditeur VBA
3- Vous faites insérer module et vous faites un copier coller de la macro du post #11
4- Ensuite, vous appliquez l'insertion d'une forme comme expliqué au post #14.

Mais si votre PC perso permet de tester, alors testez directement le fichier #8, vous devriez sur la feuille Suivi obtenir ceci :
 

Croc_de_loups

XLDnaute Junior
La touche ALT+F11 ne fonctionne pas. Cela revient-il à aller dans l'onglet Affichage puis sur Macro?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
J'ai trouvé. J'ai oublié de vous le dire. J'ai rectifié la faute d'orthographe.
J'ai renommé "Suivie commande" par "Suivi commande", je pense que c'est ça qui provoque l'erreur.
Rectifiez le nom de cet onglet, cela devrait marcher.

Je suis sur PC et je n'ai pas d'onglet qui se nomme Développeur, c'est peut-être pour cela que ça ne fonctionne pas
Faites de la même façon que vous avez fait votre code du post #1.
 

Croc_de_loups

XLDnaute Junior
Lisez bien le post #23.
Ou alors changez la ligne :
VB:
If F.Name <> "Suivi commande" Then
par
If F.Name <> "Suivie commande" Then
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 c
Re


En clair quel message ?

Et as tu refais TOUTE la procédure de mon post #9 sans zapper une étape ?

@Phil69970
Je vous l'ai dis plus haut dans la conversation et oui j'avais copié tout votre Macro
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…