Répéter 1 macro sur plusieurs feuilles à la fois

Résolu/Fermé
Metaux Messages postés 47 Date d'inscription mardi 16 juin 2015 Statut Membre Dernière intervention 13 octobre 2016 - 23 juin 2015 à 17:02
Metaux Messages postés 47 Date d'inscription mardi 16 juin 2015 Statut Membre Dernière intervention 13 octobre 2016 - 23 juin 2015 à 19:03
Bonjour,

Mon fichier : https://www.cjoint.com/c/EFxoYgDzPw0

Sur ma feuille commande, j'ai inséré une macro. En gros, elle doit aller chercher les lignes qui a un x sur une autre feuille et recopier les cellules demandées sur la feuille commande.

La macro fonctionne très bien pour 1 seule feuille.

Je veux maintenant l'adapter pour qu'elle recopie les cellules demandées de toutes les feuilles spécifiées dans le code ou on y retrouve un x.

Dans le fichier joint, il faut que je réussisse à retrouver sur ma feuille commande les cellules demandées par mon code des lignes 7,8,10,11,12 et 14 de la feuille Données en plus des lignes 9,13,15,16,17,18,19 et 20

Je croyais avoir trouvé la solution avec mon départ de macro mais ca fonctionne pas :(

A voir également:

2 réponses

Metaux Messages postés 47 Date d'inscription mardi 16 juin 2015 Statut Membre Dernière intervention 13 octobre 2016
23 juin 2015 à 17:45
J'ai l'impression que l'erreur c'est que lorsqu'il arrive à la feuille données2, il recopie les cellules demandées mais au lieu de recopier à la suite il recopie sur les mêmes lignes de la feuille commande ?? cmt gérer ca ?
0
Metaux Messages postés 47 Date d'inscription mardi 16 juin 2015 Statut Membre Dernière intervention 13 octobre 2016
23 juin 2015 à 18:00
Effectivement, j'ai fait des tests et c'est ce qui se produit. Donc au fond ma macro exécute bien ce que je lui demande.

Mais chaque fois qu'elle réitère, elle recopie sur la feuille commande ces données sur les données de l'itération précédente (du coup on perd les données de l'itération qui lui précédait) et non pas à la suite comme je le voudrais.

Auriez vous une idée comment lui dire de recopier les données de l'itération en cours à la suite des données de l'itération précédente ???

Merci !
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
23 juin 2015 à 18:55
Bonjour,

Essaie comme cela
Private Sub Worksheet_Activate()
Dim Ws As Worksheet
Dim DerLig As Long
Application.ScreenUpdating = False
Range("A7:H6845").Clear
ligne = 7
For Each Ws In ActiveWorkbook.Worksheets
If Ws.Name = "Données" Or Ws.Name = "Données2" Then
DerLig = Ws.Range("A" & Rows.Count).End(xlUp).Row
If DerLig = 6 Then MsgBox "Pas de données saisies!", vbCritical: Exit Sub
For i = 7 To DerLig
Cells(ligne, 1).Interior.ColorIndex = Ws.Cells(i, 2).Interior.ColorIndex
If UCase(Ws.Range("A" & i)) = "X" Then
Cells(ligne, 1) = Ws.Cells(i, 2)
Cells(ligne, 2) = Ws.Cells(i, 3)
Cells(ligne, 3) = Ws.Cells(i, 4)
Cells(ligne, 5).FormulaR1C1 = "=RC[-1]*RC[-2]"
ligne = ligne + 1
End If
Next
End If
Next Ws
Range("D7").Select
End Sub

A+
0
Metaux Messages postés 47 Date d'inscription mardi 16 juin 2015 Statut Membre Dernière intervention 13 octobre 2016
23 juin 2015 à 19:03
thumbs up à toi !

Ca fonctionne !!

Merci bin !
0