Excel - Macro
Fermé
__Nico989__
Messages postés
116
Date d'inscription
vendredi 22 mai 2009
Statut
Membre
Dernière intervention
21 novembre 2013
-
9 févr. 2011 à 11:47
__Nico989__ Messages postés 116 Date d'inscription vendredi 22 mai 2009 Statut Membre Dernière intervention 21 novembre 2013 - 11 févr. 2011 à 15:21
__Nico989__ Messages postés 116 Date d'inscription vendredi 22 mai 2009 Statut Membre Dernière intervention 21 novembre 2013 - 11 févr. 2011 à 15:21
A voir également:
- Excel - Macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
19 réponses
bonjour,
transformes ta macro comme suit :
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 09/02/2011 par XXXXX
'
' Touche de raccourci du clavier: Ctrl+q
'
i=1
do while cells(i,1) <> ""
i=i+1
loop
rows(i-1).copy
Rows(i).Select
ActiveSheet.Paste
End Sub
transformes ta macro comme suit :
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 09/02/2011 par XXXXX
'
' Touche de raccourci du clavier: Ctrl+q
'
i=1
do while cells(i,1) <> ""
i=i+1
loop
rows(i-1).copy
Rows(i).Select
ActiveSheet.Paste
End Sub
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
9 févr. 2011 à 13:19
9 févr. 2011 à 13:19
Re,
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 09/02/2011 par XXXXX
'
' Touche de raccourci du clavier: Ctrl+q
'
i=1
do while cells(i,1) <> ""
i=i+1
loop
rows(i-1).copy
Rows(i).Select
ActiveSheet.Paste
cells(i,1) = ""
cells(i,1).select
End Sub
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 09/02/2011 par XXXXX
'
' Touche de raccourci du clavier: Ctrl+q
'
i=1
do while cells(i,1) <> ""
i=i+1
loop
rows(i-1).copy
Rows(i).Select
ActiveSheet.Paste
cells(i,1) = ""
cells(i,1).select
End Sub
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
11 févr. 2011 à 10:03
11 févr. 2011 à 10:03
re,
j'ai oublié une ligne de code :
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 09/02/2011 par RADZISZEWSKI Nicolas
'
' Touche de raccourci du clavier: Ctrl+s
'
cells.select
Selection.Sort Key1:=Range("R2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
i = 1
Do While Cells(i, 18) <> ""
i = i + 1
Loop
Rows(i - 1).Copy
Rows(i).Select
ActiveSheet.Paste
range(Cells(i, 1), Cells(i, 51) )= ""
cells(i,18) = cells(i-1,18)+1
end sub
j'ai oublié une ligne de code :
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 09/02/2011 par RADZISZEWSKI Nicolas
'
' Touche de raccourci du clavier: Ctrl+s
'
cells.select
Selection.Sort Key1:=Range("R2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
i = 1
Do While Cells(i, 18) <> ""
i = i + 1
Loop
Rows(i - 1).Copy
Rows(i).Select
ActiveSheet.Paste
range(Cells(i, 1), Cells(i, 51) )= ""
cells(i,18) = cells(i-1,18)+1
end sub
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
11 févr. 2011 à 15:02
11 févr. 2011 à 15:02
re,
écris ca :
ActiveChart.SeriesCollection(1).ApplyDataLabels AutoText:=True, LegendKey:= _
False, HasLeaderLines:=True, ShowSeriesName:=False, ShowCategoryName:= _
True, ShowValue:=true, ShowPercentage:=True, ShowBubbleSize:=False
avant :
ActiveWindow.Visible = False
Windows(a).Activate
écris ca :
ActiveChart.SeriesCollection(1).ApplyDataLabels AutoText:=True, LegendKey:= _
False, HasLeaderLines:=True, ShowSeriesName:=False, ShowCategoryName:= _
True, ShowValue:=true, ShowPercentage:=True, ShowBubbleSize:=False
avant :
ActiveWindow.Visible = False
Windows(a).Activate
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
__Nico989__
Messages postés
116
Date d'inscription
vendredi 22 mai 2009
Statut
Membre
Dernière intervention
21 novembre 2013
35
9 févr. 2011 à 13:16
9 févr. 2011 à 13:16
Merci Melanie !
Il semblerait que cela marche pour le moment !
J'ai une nouvelle question, pour optimiser cette macro.
Cela recopie donc sans problème la dernière ligne (formules, formats..)
Je voudrais que cela supprime le contenu de la première cellule de la ligne, car il s'agit du numéro de libellé, qui doit être changé à chaque nouvelle ligne. Je n'ai pas envie d'induire les gens en erreur en faisant apparaitre le numéro de la ligne précedente..
Merci !
Il semblerait que cela marche pour le moment !
J'ai une nouvelle question, pour optimiser cette macro.
Cela recopie donc sans problème la dernière ligne (formules, formats..)
Je voudrais que cela supprime le contenu de la première cellule de la ligne, car il s'agit du numéro de libellé, qui doit être changé à chaque nouvelle ligne. Je n'ai pas envie d'induire les gens en erreur en faisant apparaitre le numéro de la ligne précedente..
Merci !
__Nico989__
Messages postés
116
Date d'inscription
vendredi 22 mai 2009
Statut
Membre
Dernière intervention
21 novembre 2013
35
9 févr. 2011 à 13:22
9 févr. 2011 à 13:22
Un grand merci, tout fonctionne, niquel !
__Nico989__
Messages postés
116
Date d'inscription
vendredi 22 mai 2009
Statut
Membre
Dernière intervention
21 novembre 2013
35
11 févr. 2011 à 08:29
11 févr. 2011 à 08:29
Re bonjour tout le monde,
Je sollicite de nouveau votre aide pour ma macro :
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 09/02/2011 par RADZISZEWSKI Nicolas
'
' Touche de raccourci du clavier: Ctrl+s
'
i = 1
Do While Cells(i, 18) <> ""
i = i + 1
Loop
Rows(i - 1).Copy
Rows(i).Select
ActiveSheet.Paste
Cells(i, 1) = ""
Cells(i, 2) = ""
Cells(i, 3) = ""
Cells(i, 4) = ""
Cells(i, 5) = ""
Cells(i, 6) = ""
Cells(i, 7) = ""
Cells(i, 8) = ""
Cells(i, 9) = ""
Cells(i, 10) = ""
Cells(i, 11) = ""
Cells(i, 12) = ""
Cells(i, 13) = ""
Cells(i, 14) = ""
Cells(i, 15) = ""
Cells(i, 16) = ""
Cells(i, 17) = ""
Cells(i, 18) = ""
Cells(i, 19) = ""
Cells(i, 20) = ""
Cells(i, 21) = ""
Cells(i, 22) = ""
Cells(i, 23) = ""
Cells(i, 24) = ""
Cells(i, 25) = ""
Cells(i, 26) = ""
Cells(i, 26) = ""
Cells(i, 27) = ""
Cells(i, 28) = ""
Cells(i, 29) = ""
Cells(i, 30) = ""
Cells(i, 31) = ""
Cells(i, 32) = ""
Cells(i, 33) = ""
Cells(i, 35) = ""
Cells(i, 36) = ""
Cells(i, 38) = ""
Cells(i, 39) = ""
Cells(i, 40) = ""
Cells(i, 41) = ""
Cells(i, 42) = ""
Cells(i, 43) = ""
Cells(i, 44) = ""
Cells(i, 45) = ""
Cells(i, 46) = ""
Cells(i, 47) = ""
Cells(i, 48) = ""
Cells(i, 49) = ""
Cells(i, 50) = ""
Cells(i, 51) = ""
Cells(i, 19).Select
End Sub
Je souhaite modifier celle-ci afin que :
Avant de commencer, la macro fasse un tri par ordre croissant de la colonne R (18eme colonne)
Puis qu'à cette étape : Cells(i, 18) = ""
La cellule ne soit pas vidée, mais qu'elle reprenne la cellule de la ligne de dessus et y ajouter + 1 (ex: A1: 369 B1: 370)
Merci d'avance !
Nico
Je sollicite de nouveau votre aide pour ma macro :
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 09/02/2011 par RADZISZEWSKI Nicolas
'
' Touche de raccourci du clavier: Ctrl+s
'
i = 1
Do While Cells(i, 18) <> ""
i = i + 1
Loop
Rows(i - 1).Copy
Rows(i).Select
ActiveSheet.Paste
Cells(i, 1) = ""
Cells(i, 2) = ""
Cells(i, 3) = ""
Cells(i, 4) = ""
Cells(i, 5) = ""
Cells(i, 6) = ""
Cells(i, 7) = ""
Cells(i, 8) = ""
Cells(i, 9) = ""
Cells(i, 10) = ""
Cells(i, 11) = ""
Cells(i, 12) = ""
Cells(i, 13) = ""
Cells(i, 14) = ""
Cells(i, 15) = ""
Cells(i, 16) = ""
Cells(i, 17) = ""
Cells(i, 18) = ""
Cells(i, 19) = ""
Cells(i, 20) = ""
Cells(i, 21) = ""
Cells(i, 22) = ""
Cells(i, 23) = ""
Cells(i, 24) = ""
Cells(i, 25) = ""
Cells(i, 26) = ""
Cells(i, 26) = ""
Cells(i, 27) = ""
Cells(i, 28) = ""
Cells(i, 29) = ""
Cells(i, 30) = ""
Cells(i, 31) = ""
Cells(i, 32) = ""
Cells(i, 33) = ""
Cells(i, 35) = ""
Cells(i, 36) = ""
Cells(i, 38) = ""
Cells(i, 39) = ""
Cells(i, 40) = ""
Cells(i, 41) = ""
Cells(i, 42) = ""
Cells(i, 43) = ""
Cells(i, 44) = ""
Cells(i, 45) = ""
Cells(i, 46) = ""
Cells(i, 47) = ""
Cells(i, 48) = ""
Cells(i, 49) = ""
Cells(i, 50) = ""
Cells(i, 51) = ""
Cells(i, 19).Select
End Sub
Je souhaite modifier celle-ci afin que :
Avant de commencer, la macro fasse un tri par ordre croissant de la colonne R (18eme colonne)
Puis qu'à cette étape : Cells(i, 18) = ""
La cellule ne soit pas vidée, mais qu'elle reprenne la cellule de la ligne de dessus et y ajouter + 1 (ex: A1: 369 B1: 370)
Merci d'avance !
Nico
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
11 févr. 2011 à 10:01
11 févr. 2011 à 10:01
Bonjour,
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 09/02/2011 par RADZISZEWSKI Nicolas
'
' Touche de raccourci du clavier: Ctrl+s
'
Selection.Sort Key1:=Range("R2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
i = 1
Do While Cells(i, 18) <> ""
i = i + 1
Loop
Rows(i - 1).Copy
Rows(i).Select
ActiveSheet.Paste
range(Cells(i, 1), Cells(i, 51) )= ""
cells(i,18) = cells(i-1,18)+1
end sub
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 09/02/2011 par RADZISZEWSKI Nicolas
'
' Touche de raccourci du clavier: Ctrl+s
'
Selection.Sort Key1:=Range("R2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
i = 1
Do While Cells(i, 18) <> ""
i = i + 1
Loop
Rows(i - 1).Copy
Rows(i).Select
ActiveSheet.Paste
range(Cells(i, 1), Cells(i, 51) )= ""
cells(i,18) = cells(i-1,18)+1
end sub
__Nico989__
Messages postés
116
Date d'inscription
vendredi 22 mai 2009
Statut
Membre
Dernière intervention
21 novembre 2013
35
11 févr. 2011 à 11:06
11 févr. 2011 à 11:06
Encore une fois un grand merci, tout marche, j'ai fait quelques modif' car le "range" prenait toutes les cellules de 1 à 51 et certaines ne devaient pas être remises à zéro.
Merci et bonne journée !
Nico
Merci et bonne journée !
Nico
__Nico989__
Messages postés
116
Date d'inscription
vendredi 22 mai 2009
Statut
Membre
Dernière intervention
21 novembre 2013
35
11 févr. 2011 à 13:09
11 févr. 2011 à 13:09
C'est encore moi, pour un nouveau problème :
Voici ma macro :
Sub Macro6()
'
' Macro6 Macro
' Macro enregistrée le 11/02/2011 par RADZISZEWSKI Nicolas
'
' Touche de raccourci du clavier: Ctrl+f
'
Columns("W:X").Select
Range("X1").Activate
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
Range("A1:B375").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"D1"), Unique:=True
Range("G2").Select
ActiveCell.FormulaR1C1 = "Accord de prix"
Range("G3").Select
ActiveCell.FormulaR1C1 = "Bordereau"
Range("G4").Select
ActiveCell.FormulaR1C1 = "Contrat"
Range("G5").Select
ActiveCell.FormulaR1C1 = "Contrat Majeur"
Range("H2").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H3").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H4").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H5").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H6").Select
Charts.Add
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("G2:H5"), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
ActiveWindow.Visible = False
Windows("Classeur6").Activate
Range("J5").Select
End Sub
En fait, pour résumer, je copie deux colonnes d'un tableau, ouvre un nouveau classeur, les colles dedans, les trie par ordre alphabétique, puis fais un filtre élaboré recopiant les données sans doublons juste à côté.
Ensuite je créé un tableau servant à compter (nb.si) le nombre par type de contrat.
Enfin, j'insère un graphique en camenbert, en y activant comme étiquettes de données "nom de catégorie, valeur et pourcentage".
Le problème arrive lorsque je lance la macro, tout fonctionne sauf à la fin pour le graphique :
"Erreur d'execution '9':
L'indice n'appartient pas à la sélection."
Le graphique semble bien créé (le camembert à la bonne forme (répartition), mais les étiquettes n'apparaisent pas.
Une idée?
Voici ma macro :
Sub Macro6()
'
' Macro6 Macro
' Macro enregistrée le 11/02/2011 par RADZISZEWSKI Nicolas
'
' Touche de raccourci du clavier: Ctrl+f
'
Columns("W:X").Select
Range("X1").Activate
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
Range("A1:B375").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"D1"), Unique:=True
Range("G2").Select
ActiveCell.FormulaR1C1 = "Accord de prix"
Range("G3").Select
ActiveCell.FormulaR1C1 = "Bordereau"
Range("G4").Select
ActiveCell.FormulaR1C1 = "Contrat"
Range("G5").Select
ActiveCell.FormulaR1C1 = "Contrat Majeur"
Range("H2").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H3").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H4").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H5").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H6").Select
Charts.Add
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("G2:H5"), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
ActiveWindow.Visible = False
Windows("Classeur6").Activate
Range("J5").Select
End Sub
En fait, pour résumer, je copie deux colonnes d'un tableau, ouvre un nouveau classeur, les colles dedans, les trie par ordre alphabétique, puis fais un filtre élaboré recopiant les données sans doublons juste à côté.
Ensuite je créé un tableau servant à compter (nb.si) le nombre par type de contrat.
Enfin, j'insère un graphique en camenbert, en y activant comme étiquettes de données "nom de catégorie, valeur et pourcentage".
Le problème arrive lorsque je lance la macro, tout fonctionne sauf à la fin pour le graphique :
"Erreur d'execution '9':
L'indice n'appartient pas à la sélection."
Le graphique semble bien créé (le camembert à la bonne forme (répartition), mais les étiquettes n'apparaisent pas.
Une idée?
__Nico989__
Messages postés
116
Date d'inscription
vendredi 22 mai 2009
Statut
Membre
Dernière intervention
21 novembre 2013
35
11 févr. 2011 à 13:10
11 févr. 2011 à 13:10
Petite précision, il me semble qu'Excel me dit que l'erreur est à ce niveau
Windows("Classeur6").Activate
Windows("Classeur6").Activate
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
11 févr. 2011 à 14:31
11 févr. 2011 à 14:31
Bonjour,
Sub Macro6()
'
' Macro6 Macro
' Macro enregistrée le 11/02/2011 par RADZISZEWSKI Nicolas
'
' Touche de raccourci du clavier: Ctrl+f
'
Columns("W:X").Select
Range("X1").Activate
Selection.Copy
Workbooks.Add
a = workbooks.name
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
Range("A1:B375").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"D1"), Unique:=True
Range("G2").Select
ActiveCell.FormulaR1C1 = "Accord de prix"
Range("G3").Select
ActiveCell.FormulaR1C1 = "Bordereau"
Range("G4").Select
ActiveCell.FormulaR1C1 = "Contrat"
Range("G5").Select
ActiveCell.FormulaR1C1 = "Contrat Majeur"
Range("H2").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H3").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H4").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H5").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H6").Select
Charts.Add
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("G2:H5"), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
ActiveWindow.Visible = False
Windows(a).Activate
Range("J5").Select
End Sub
Sub Macro6()
'
' Macro6 Macro
' Macro enregistrée le 11/02/2011 par RADZISZEWSKI Nicolas
'
' Touche de raccourci du clavier: Ctrl+f
'
Columns("W:X").Select
Range("X1").Activate
Selection.Copy
Workbooks.Add
a = workbooks.name
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
Range("A1:B375").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"D1"), Unique:=True
Range("G2").Select
ActiveCell.FormulaR1C1 = "Accord de prix"
Range("G3").Select
ActiveCell.FormulaR1C1 = "Bordereau"
Range("G4").Select
ActiveCell.FormulaR1C1 = "Contrat"
Range("G5").Select
ActiveCell.FormulaR1C1 = "Contrat Majeur"
Range("H2").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H3").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H4").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H5").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H6").Select
Charts.Add
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("G2:H5"), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
ActiveWindow.Visible = False
Windows(a).Activate
Range("J5").Select
End Sub
__Nico989__
Messages postés
116
Date d'inscription
vendredi 22 mai 2009
Statut
Membre
Dernière intervention
21 novembre 2013
35
11 févr. 2011 à 14:41
11 févr. 2011 à 14:41
Il semble y avoir une erreur :
"Erreur de compilation :
Membre de méthode ou de données introuvables"
Lorsque je clique sur OK, cela met en jaune "Sub Macro6()"
et ça sélectionne "name" dans la 5eme ligne (a = Workbokks.Name)
"Erreur de compilation :
Membre de méthode ou de données introuvables"
Lorsque je clique sur OK, cela met en jaune "Sub Macro6()"
et ça sélectionne "name" dans la 5eme ligne (a = Workbokks.Name)
__Nico989__
Messages postés
116
Date d'inscription
vendredi 22 mai 2009
Statut
Membre
Dernière intervention
21 novembre 2013
35
11 févr. 2011 à 14:51
11 févr. 2011 à 14:51
J'ai voulu faire un test,
Dans un nouveau classeur, créer un tableau tout simple puis créer une macro pour faire un graphique camembert à partir de ça, en mettant bien les étiquettes de données "nom de catégorie, valeur et pourcentage".
Lorsque je lances la macro, celle-ci le graphe est créé mais les étiquette n'apparaissent pas non plus.. Ce qui ressemble au problème sur l'autre macro.
Dans un nouveau classeur, créer un tableau tout simple puis créer une macro pour faire un graphique camembert à partir de ça, en mettant bien les étiquettes de données "nom de catégorie, valeur et pourcentage".
Lorsque je lances la macro, celle-ci le graphe est créé mais les étiquette n'apparaissent pas non plus.. Ce qui ressemble au problème sur l'autre macro.
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
11 févr. 2011 à 14:51
11 févr. 2011 à 14:51
J'ai fait une erreur de frappe :
au lieu de a = Workbokks.Name
mets :
a = ActiveWorkbook.Name
au lieu de a = Workbokks.Name
mets :
a = ActiveWorkbook.Name
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
11 févr. 2011 à 14:57
11 févr. 2011 à 14:57
Bonjour,
j'ai trouvé, avant ton chart.add, tu ne dis pas sur quoi tu veux appliquer ton camembert.
Quelle est ta plage de cellule?
si c'est toutes, avant chart.add mets :
cells.select
j'ai trouvé, avant ton chart.add, tu ne dis pas sur quoi tu veux appliquer ton camembert.
Quelle est ta plage de cellule?
si c'est toutes, avant chart.add mets :
cells.select
__Nico989__
Messages postés
116
Date d'inscription
vendredi 22 mai 2009
Statut
Membre
Dernière intervention
21 novembre 2013
35
11 févr. 2011 à 14:59
11 févr. 2011 à 14:59
Merci, ça marche, il n'y a plus l'erreur.
En revanche, comme je le craignais, le camembert créé est constitué des 4 parties correctement calculées, mais aucune information n'apparait (nom de catégorie, valeur et pourcentage).
En revanche, comme je le craignais, le camembert créé est constitué des 4 parties correctement calculées, mais aucune information n'apparait (nom de catégorie, valeur et pourcentage).
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
11 févr. 2011 à 14:59
11 févr. 2011 à 14:59
je devrais apprendr eà lire mieux, essaie :
Sub Macro6()
'
' Macro6 Macro
' Macro enregistrée le 11/02/2011 par RADZISZEWSKI Nicolas
'
' Touche de raccourci du clavier: Ctrl+f
'
Columns("W:X").Select
Range("X1").Activate
Selection.Copy
Workbooks.Add
a = workbooks.name
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
Range("A1:B375").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"D1"), Unique:=True
Range("G2").Select
ActiveCell.FormulaR1C1 = "Accord de prix"
Range("G3").Select
ActiveCell.FormulaR1C1 = "Bordereau"
Range("G4").Select
ActiveCell.FormulaR1C1 = "Contrat"
Range("G5").Select
ActiveCell.FormulaR1C1 = "Contrat Majeur"
Range("H2").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H3").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H4").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H5").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H6").Select
range(columns(7),columns(8)).select
Charts.Add
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("G2:H5"), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
ActiveWindow.Visible = False
Windows(a).Activate
Range("J5").Select
End Sub
Sub Macro6()
'
' Macro6 Macro
' Macro enregistrée le 11/02/2011 par RADZISZEWSKI Nicolas
'
' Touche de raccourci du clavier: Ctrl+f
'
Columns("W:X").Select
Range("X1").Activate
Selection.Copy
Workbooks.Add
a = workbooks.name
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
Range("A1:B375").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"D1"), Unique:=True
Range("G2").Select
ActiveCell.FormulaR1C1 = "Accord de prix"
Range("G3").Select
ActiveCell.FormulaR1C1 = "Bordereau"
Range("G4").Select
ActiveCell.FormulaR1C1 = "Contrat"
Range("G5").Select
ActiveCell.FormulaR1C1 = "Contrat Majeur"
Range("H2").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H3").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H4").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H5").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(C[-4],RC[-1])"
Range("H6").Select
range(columns(7),columns(8)).select
Charts.Add
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("G2:H5"), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
ActiveWindow.Visible = False
Windows(a).Activate
Range("J5").Select
End Sub
__Nico989__
Messages postés
116
Date d'inscription
vendredi 22 mai 2009
Statut
Membre
Dernière intervention
21 novembre 2013
35
11 févr. 2011 à 15:21
11 févr. 2011 à 15:21
Merci Melanie !
Ca marche !
Tout s'affiche !
Merci et bon weekend !
Probablement à la semaine prochaine s'il y a d'autres soucis sur d'auters macros ^^
Nico
Ca marche !
Tout s'affiche !
Merci et bon weekend !
Probablement à la semaine prochaine s'il y a d'autres soucis sur d'auters macros ^^
Nico