Corriger une macro
Fermé
kawtdanne
Messages postés
11
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
19 juillet 2013
-
19 juil. 2013 à 14:49
michel_m Messages postés 16593 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 23 mars 2023 - 19 juil. 2013 à 15:41
michel_m Messages postés 16593 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 23 mars 2023 - 19 juil. 2013 à 15:41
A voir également:
- Corriger une macro
- Macro logiciel - Télécharger - Organisation
- Macro recorder - Télécharger - Confidentialité
- Macro Recorder - Télécharger - Divers Utilitaires
- Macro word - Guide
- Lancer une macro dans une macro - Astuces et Solutions
2 réponses
Morgothal
Messages postés
1235
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
179
19 juil. 2013 à 15:33
19 juil. 2013 à 15:33
Salut
Comme ça, je dirais qu'il manque un .value à cette ligne :
If CELL.Value >= Range("A_Debut").Value Or CELL.Value <= Range("A_Fin").Value Then
Peut -être est-ce autre chose ...
Comme ça, je dirais qu'il manque un .value à cette ligne :
If CELL.Value >= Range("A_Debut").Value Or CELL.Value <= Range("A_Fin").Value Then
Peut -être est-ce autre chose ...
michel_m
Messages postés
16593
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
23 mars 2023
3 292
Modifié par michel_m le 19/07/2013 à 15:42
Modifié par michel_m le 19/07/2013 à 15:42
Bonjour
peut-^tre
Tu as créé sagement un bloc
With Worksheets("Feuil2")
End With
il faut alors que tous les objets cells et/ou range marquent leur appartenance à ce bloc par un point
tu n'as pas besoin d'écrire Sheets("Feuil2").Select puisque tu es dans le bloc
"feuil2"
le ".select" est mis à le fin de ta macro si tu veux que l'utisateur voit le résultat
Pendant que j'y suis
en début de macro utilise cette instruction
Application.screenupdating=False
qui évitera les sautes d'écran accélère l'éxécution de 80%
Pourquoi une boucle puisque tu utilises xlfilldefaut ?
Michel
peut-^tre
Tu as créé sagement un bloc
With Worksheets("Feuil2")
End With
il faut alors que tous les objets cells et/ou range marquent leur appartenance à ce bloc par un point
With Worksheets("Feuil2")
Dim I As Long
I = .Range("A" & Rows.Count).End(xlUp).Row
For Each CELL In .Range("C2:C" & .Range("C" & Rows.Count).End(xlUp).Row)
If CELL.Value >= .Range("A_Debut") Or .CELL.Value <= .Range("A_Fin").Value Then
.Range("B2").Formula = "=SUMPRODUCT((Feuil1!C[-1]=Feuil2!RC[-1])*(Feuil1!C[2]=1))"
.Range("B2").AutoFill Destination:=.Range("B2:B" & I), Type:=xlFillDefaul
End If
Next CELL
.Select
End With
tu n'as pas besoin d'écrire Sheets("Feuil2").Select puisque tu es dans le bloc
"feuil2"
le ".select" est mis à le fin de ta macro si tu veux que l'utisateur voit le résultat
Pendant que j'y suis
en début de macro utilise cette instruction
Application.screenupdating=False
qui évitera les sautes d'écran accélère l'éxécution de 80%
Pourquoi une boucle puisque tu utilises xlfilldefaut ?
Michel