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 !
J'ai créé une macro avec l'enregistreur.
ce que je cherche à faire c'est copié les valeurs de la feuille un sur la feuille commande pour facturations.
j' utilise en liaison la feuille deux avec une clé de tri pour ne récupérer que certaines valeurs.
et bien sûres je cherche que sur la feuille commande pour facturations, que les données puissent être copiées à la suite pour garder en mémoire.
Ça, comme ça évolue, va falloir le calculer. Existe-t-il une colonne obligatoirement remplie, pouvant servir de référence pour le calcul ?
Ta macro, chez moi, donnerait ce style de code :
PHP:
Sub copie_pour_facturation()
With Sheets("Feuil3")
If .FilterMode Then .ShowAllData
.Range("A3").CurrentRegion.AutoFilter Field:=7, Criteria1:="<>0"
.Range("A4:K39").Copy
Sheets("Commandes pour facturation").Range("A4").PasteSpecial (xlValue)
If .FilterMode Then .ShowAllData
.Select
.Range("G12").Select
Sheets("Feuil1").Select
End With
End Sub
Les select ne sont à utiliser que s'ils sont réellement indispensables... ce qui est rarement le cas.
PHP:
.AutoFilter Field:=7, Criteria1:="<>"
Le critère est bizarre : "est différent de" ???
Il est évident que Sheets("Commandes pour facturation").Range("A4") doit être remplacé par une formule qui calcule la dernière ligne utilisée. un truc du genre :
Sheets("Commandes pour facturation").cells(Rows.count,"A").end(xlup)(2)
en partant du principe que la colonne A est toujours renseignée.
je vais essayer d'être plus clair dans mon énoncé.
1 Les informations vienne de la "feuille1" ( le tableau se remplit en fonction du numéro de commande et de la date, informations récupérée dans l'onglet "commande")
2 j'ai rajouté la "feuille3" qui recopie les informations de la feuille1 ( j'avais besoin de recopier les informations sur une seule ligne en 4 de A à K, puis les éléments prestation de E5 : I25 au pouvoir créer une clé de tri sur les produits avec une valeur) ( il est possible que la "feuille3" n'est pas nécessaire, peut-être moyen plus rapide)
3 puis je copie avec macro les informations de la "feuille3 " sur la feuille "commande pour facturations".( les informations doivent être collées en A4.
4 je cherche à garder chaque commande validée sur la feuille "commande pour facturations".
5 je te mets un exemple le résultat que je souhaite obtenir.
Le petit problème j'ai donner le nombre de ligne à sauter pour chaque copie, mais pouvons nous faire de manière
que le nombre de ligne à copier soi en fonction de élément de la feuill3 aprés le filtre.
malheureusement tout ce langage est un grand mystère pour moi.
je suis capable d'utilisé l'enregistreur de récupérer des données par-ci par-là.
mais incapable de construire ce langage
Re,
Dans la feuille "Commandes pour facturation", la dernière ligne utilisée correspond à la dernière cellule utilisée de la colonne E
Le n° de la dernière ligne est donc
Code:
Dlgn = Range("E65536").End(xlUp).Row
Il te suffit de te placer sur Range("A" & Dlgn + 1) pour coller à la suite.
A+
Sub Macro4()
' détermination de la dernière ligne de la feuille "Commandes pour facturation"
Sheets("Commandes pour facturation").activate
Dlgn = Sheets("Commandes pour facturation").Range("E65536").End(xlUp).Row
Sheets("Feuil3").Select
Selection.AutoFilter Field:=7, Criteria1:="<>"
'Copier/Coller
Range("A4:K26").Copy destination:=Range ("A" & Dlgn + 1)
Sheets("Feuil3").Select
Selection.AutoFilter Field:=7
Range("B4").Select
Sheets("Feuil1").Select
End Sub
L'enregistreur de macro donne des macros très mal écrites avec beaucoup de Select qui ralentissent beaucoup l'exécution du code. Après avoir utilisé l'enregistreur de macros, il est très intéressant de mettre le curseur sur les éléments qu'on ne maîtrise pas puis d'appuyer sur la touche F1 pour afficher l'aide qui donne la syntaxe et souvent des exemples.
Ici mets le curseur sur Copy puis appuie sur F1 et tu comprendras comment utiliser Copy.
A+
- 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