VBA recopier d'une feuille dans l'autre en fonction d'une condition et successivement

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

superbog

XLDnaute Occasionnel
Bonjour

Voici ma difficulté, je voudrais à partir d'un tableau remplir automatiquement en fonction d'une condition (E>C) une case d'autre feuille du même classeur et lancer une macro puis passer à la ligne suivante

Pourriez vous m'aider en vba? Je joins un fichier exemple très court.

Merci d'avance
 

Pièces jointes

Re : VBA recopier d'une feuille dans l'autre en fonction d'une condition et successiv

Bonjour superbog,

La méthode la plus simple - et surtout la plus rapide - est de tout transférer en utilisant le filtre avancé :

Code:
Sub Transfert()
Dim F1 As Worksheet, F2 As Worksheet
Set F1 = Sheets("recap") 'noms à adapter
Set F2 = Sheets("fiche2")
F1.[G2] = "=E2>C2" 'critère du filtrage
F2.Rows("9:" & Rows.Count).Clear
F1.[A1].CurrentRegion.AdvancedFilter xlFilterCopy, F1.[G1:G2], F2.[A9]
F1.[G2] = ""
F2.Activate 'facultatif
End Sub
Ensuite, si votre macro "pdf" travaille ligne par ligne (???) faites une boucle sur les lignes.

Mais il vaudrait 100 fois mieux que cette macro travaille en bloc sur une plage...

Fichier joint.

A+
 

Pièces jointes

Re : VBA recopier d'une feuille dans l'autre en fonction d'une condition et successiv

voici ma macro pdf

Sub pdf()
nomNewClasseur = Range("A9") & "-" & Format(Now() - 1, "ddmmyy") & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\brigitte\Dropbox\RBX\RBX-BB\recap\" & nomNewClasseur, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
 
Re : VBA recopier d'une feuille dans l'autre en fonction d'une condition et successiv

Je ne souhaite pas tout transférer d'un coup car en remplissant la case A9 de la feuil!2, cela change tout le contenu de la feuil2! (par de nombreuses commandes "indirect" que j'ai créées) une fois ces changements faits, j'enregistre en pdf puis je passe à la ligne suivante
d'ou l'intérêt du successif pourmoi
 
Re : VBA recopier d'une feuille dans l'autre en fonction d'une condition et successiv

Re,

Les boucles j'en ai plein le dos, j'en fait trop 🙄

Ceci conviendra peut-être :

Code:
Sub Transfert()
Dim F1 As Worksheet, F2 As Worksheet
Set F1 = Sheets("recap") 'noms à adapter
Set F2 = Sheets("fiche2")
F1.[G2] = "=E2>C2" 'critère du filtrage
'F2.Rows("9:" & Rows.Count).Clear
F2.Range("A9:F" & Rows.Count).Clear
F1.[A1].CurrentRegion.AdvancedFilter xlFilterCopy, F1.[G1:G2], F2.[A9]
F1.[G2] = ""
F2.Activate
pdf 'lance la macro pdf
End Sub
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

Discussions similaires

Réponses
6
Affichages
561
F
Réponses
7
Affichages
958
FredNVZ
F
Retour