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

copie valeur sur une autre feuille

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

tinet

XLDnaute Impliqué
Bonjour le forum,

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.

voici la formule

PHP:
Sheets("Feuil3").Select
    Selection.AutoFilter Field:=7, Criteria1:="<>"
    Range("A4:K39").Select
    Selection.Copy
    Sheets("Commandes pour facturation").Select
    Range("A4").Select
    ActiveSheet.Paste
    Sheets("Feuil3").Select
    Selection.AutoFilter Field:=7
    Range("G12").Select
    Sheets("Feuil1").Select

et le fichier.
 

Pièces jointes

Dernière édition:
Re : copie vlaur sur une autre feuille

Salut tinet et le forum
Rappel : on n'est ni magicien, ni télépathe ! soit cohérent dans ta demande !
ce que je cherche à faire c'est copié les valeurs de la feuille un sur la feuille commande pour facturations.
Feuille un : ça correspond à quoi ?
Sheets(1) : feuille "Commandes" ?
sheets("Feuil1") : ? Mais dans la macro donnée, c'est "Feuil3" ???
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.

A+
 
Re : copie vlaur sur une autre feuille

Bonjour à tous,
Variante :
VB:
Sheets("Feuil3").Activate
Range("A3").AutoFilter Field:=7, Criteria1:="<> 0"
Range("A4:K39").Copy
Sheets("Commandes pour facturation").activate
destination :=Sheets("Commandes pour facturation").Range("A"&Range("G65536").End(xlUp).Row + 1)
A+
 
Re : copie vlaur sur une autre feuille

Bonjour Gorfael,

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.

a+
 

Pièces jointes

Dernière édition:
Re : copie vlaur sur une autre feuille

Re le forum,

J'ai modifier ma formule pour la copie.

Maintenant reste à trouver sur la feuille "commande pour facturation" pour que la copie se face à la suite.

PHP:
Sheets("Commandes pour facturation").cells(Rows.count,"A").end(xlup)(2)
Mais sa ne marche pas
merci de votre aide
 
Dernière édition:
Re : copie vlaur sur une autre feuille

Bonjour le forum,

En cherchant j'ai trouver une solution à mon problème.
voici ma formule
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.

a+
 

Pièces jointes

Re : copie valeur sur une autre feuille

Bonjour hippolite,

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

a+
 
Re : copie valeur sur une autre feuille

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+

N'hésite pas à utiliser la touche F1 pour avoir l'aide sur l'élément placé sous le curseur.
Ci-dessous, quelques liens pour débuter en VBA
Support de cours complet pour le VBA d'Excel
Les meilleurs cours et ressources pour Excel : Programmation
Initiation au VBA Office
Les syntaxes de base
Ce lien n'existe plus
 
Dernière édition:
Re : copie valeur sur une autre feuille

Re,

Je ne comprend plus rien.


Puis cette formule je la place ou.
Dlgn = Range("E65536").End(xlUp).Row

a+
 
Re : copie valeur sur une autre feuille

Re,
VB:
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+
 
Re : copie valeur sur une autre feuille

Re,

J'ai recopier ta formule, est la macro se plante sur la ligne.
Range("A4:a26").Copy Destination:=Range("A" & Dlgn + 1)

A+
 

Pièces jointes

Dernière édition:
Re : copie valeur sur une autre feuille

Re,
Désolé, je n'ai pas excel sous la main , je n'ai pas pu tester. Remplace la ligne par
Code:
Range("A4:a26").Copy Destination:=Sheets("Commandes pour facturation").Range("A" & Dlgn + 1)
 
- 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

Discussions similaires

Réponses
1
Affichages
452
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…