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
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
A voir également:
- Appliquer une macro sur plusieurs feuilles
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Fusionner plusieurs feuilles excel en une seule - Guide
- Comment faire un livret avec des feuilles a4 - Guide
- Désinstaller une application sur pc - Guide
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
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 ?
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
23 juin 2015 à 18:55
Bonjour,
Essaie comme cela
A+
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+
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
23 juin 2015 à 19:03
thumbs up à toi !
Ca fonctionne !!
Merci bin !
Ca fonctionne !!
Merci bin !
23 juin 2015 à 18:00
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 !