Je sélectionne ces deux colonnes adjacentes :
1 5
2 6
3 7
4 8
et j'appelle la Macro1. Tout baigne dans l'huile d'olive
pressé à froid !
Sub Macro1()
Application.ScreenUpdating = False
Set ici = Selection
nom = ici.Parent.Name
Charts.Add
ActiveChart.ChartType = xl3DColumnClustered
ActiveChart.SetSourceData Source:=ici
ActiveChart.Location Where:=xlLocationAsObject, Name:=nom
End Sub
Par contre, si j'appelle Macro2, elle me traite avec le plus grand mépris !
Comment «passer» choix(1) à «genre» de telle sorte que
ActiveChart.ChartType = genre ne fasse pas de chichi ?
Sub Macro2()
choix = Array("xlColumnClustered", "xl3DColumnClustered")
genre = choix(1)
Application.ScreenUpdating = False
Set ici = Selection
nom = ici.Parent.Name
Charts.Add
ActiveChart.ChartType = genre
ActiveChart.SetSourceData Source:=ici
ActiveChart.Location Where:=xlLocationAsObject, Name:=nom
End Sub
Je sélectionne ces deux colonnes adjacentes : 1 5 2 6 3 7 4 8 et j'appelle la Macro1. Tout baigne dans l'huile d'olive pressé à froid !
Sub Macro1() Application.ScreenUpdating = False Set ici = Selection nom = ici.Parent.Name Charts.Add ActiveChart.ChartType = xl3DColumnClustered ActiveChart.SetSourceData Source:=ici ActiveChart.Location Where:=xlLocationAsObject, Name:=nom End Sub
Par contre, si j'appelle Macro2, elle me traite avec le plus grand mépris ! Comment «passer» choix(1) à «genre» de telle sorte que ActiveChart.ChartType = genre ne fasse pas de chichi ?
Sub Macro2() choix = Array("xlColumnClustered", "xl3DColumnClustered") genre = choix(1) Application.ScreenUpdating = False Set ici = Selection nom = ici.Parent.Name Charts.Add ActiveChart.ChartType = genre ActiveChart.SetSourceData Source:=ici ActiveChart.Location Where:=xlLocationAsObject, Name:=nom End Sub
Je sélectionne ces deux colonnes adjacentes :
1 5
2 6
3 7
4 8
et j'appelle la Macro1. Tout baigne dans l'huile d'olive
pressé à froid !
Sub Macro1()
Application.ScreenUpdating = False
Set ici = Selection
nom = ici.Parent.Name
Charts.Add
ActiveChart.ChartType = xl3DColumnClustered
ActiveChart.SetSourceData Source:=ici
ActiveChart.Location Where:=xlLocationAsObject, Name:=nom
End Sub
Par contre, si j'appelle Macro2, elle me traite avec le plus grand mépris !
Comment «passer» choix(1) à «genre» de telle sorte que
ActiveChart.ChartType = genre ne fasse pas de chichi ?
Sub Macro2()
choix = Array("xlColumnClustered", "xl3DColumnClustered")
genre = choix(1)
Application.ScreenUpdating = False
Set ici = Selection
nom = ici.Parent.Name
Charts.Add
ActiveChart.ChartType = genre
ActiveChart.SetSourceData Source:=ici
ActiveChart.Location Where:=xlLocationAsObject, Name:=nom
End Sub
Je sélectionne ces deux colonnes adjacentes : 1 5 2 6 3 7 4 8 et j'appelle la Macro1. Tout baigne dans l'huile d'olive pressé à froid !
Sub Macro1() Application.ScreenUpdating = False Set ici = Selection nom = ici.Parent.Name Charts.Add ActiveChart.ChartType = xl3DColumnClustered ActiveChart.SetSourceData Source:=ici ActiveChart.Location Where:=xlLocationAsObject, Name:=nom End Sub
Par contre, si j'appelle Macro2, elle me traite avec le plus grand mépris ! Comment «passer» choix(1) à «genre» de telle sorte que ActiveChart.ChartType = genre ne fasse pas de chichi ?
Sub Macro2() choix = Array("xlColumnClustered", "xl3DColumnClustered") genre = choix(1) Application.ScreenUpdating = False Set ici = Selection nom = ici.Parent.Name Charts.Add ActiveChart.ChartType = genre ActiveChart.SetSourceData Source:=ici ActiveChart.Location Where:=xlLocationAsObject, Name:=nom End Sub
Serge
garnote
Arrayluia ! Serait-ce à dire que les constantes VBA sont considérées implicitement comme des chaînes de texte, donc pas besion de cochonneries du genre "" ? Erre-je ou n'erre-je pas ?
Arrayluia !
Serait-ce à dire que les constantes VBA sont considérées implicitement
comme des chaînes de texte, donc pas besion de cochonneries
du genre "" ?
Erre-je ou n'erre-je pas ?
Serge
"Daniel.M" <prenom.maher@bigfoot.inutil.com> a écrit dans le message de
news:uwpN4yQaEHA.2296@TK2MSFTNGP10.phx.gbl...
Arrayluia ! Serait-ce à dire que les constantes VBA sont considérées implicitement comme des chaînes de texte, donc pas besion de cochonneries du genre "" ? Erre-je ou n'erre-je pas ?
Même si ces constantes représentaient des chaînes de texte, ça ne changerait pas le fait que tu dois initialiser le tableau 'choix' avec leurs valeurs et non une string.
Dans tous les cas, les guillemets sont à proscrire sauf si tu entres des chaînes comme telles (pas les constantes qui les représentent).
Salutations,
Daniel M.
"garnote" wrote in message news:1GWIc.49269$
Arrayluia ! Serait-ce à dire que les constantes VBA sont considérées implicitement comme des chaînes de texte, donc pas besion de cochonneries du genre "" ? Erre-je ou n'erre-je pas ?
Serge
Ces constantes représentent des nombres.
Même si ces constantes représentaient des chaînes de texte, ça ne changerait pas
le fait que tu dois initialiser le tableau 'choix' avec leurs valeurs et non une
string.
Dans tous les cas, les guillemets sont à proscrire sauf si tu entres des chaînes
comme telles (pas les constantes qui les représentent).
Salutations,
Daniel M.
"garnote" <rien@absent.net> wrote in message
news:1GWIc.49269$eO.32354@edtnps89...
Arrayluia !
Serait-ce à dire que les constantes VBA sont considérées implicitement
comme des chaînes de texte, donc pas besion de cochonneries
du genre "" ?
Erre-je ou n'erre-je pas ?
Même si ces constantes représentaient des chaînes de texte, ça ne changerait pas le fait que tu dois initialiser le tableau 'choix' avec leurs valeurs et non une string.
Dans tous les cas, les guillemets sont à proscrire sauf si tu entres des chaînes comme telles (pas les constantes qui les représentent).
Salutations,
Daniel M.
"garnote" wrote in message news:1GWIc.49269$
Arrayluia ! Serait-ce à dire que les constantes VBA sont considérées implicitement comme des chaînes de texte, donc pas besion de cochonneries du genre "" ? Erre-je ou n'erre-je pas ?
sur une feuille de calcul ou dans une zone de liste d'un UserForm, comment les récupérer pour définir un type de graphique ?
Serge
"Daniel.M" a écrit dans le message de news:
Ces constantes représentent des nombres.
Même si ces constantes représentaient des chaînes de texte, ça ne changerait pas
le fait que tu dois initialiser le tableau 'choix' avec leurs valeurs et non une
string.
Dans tous les cas, les guillemets sont à proscrire sauf si tu entres des chaînes
comme telles (pas les constantes qui les représentent).
Salutations,
Daniel M.
"garnote" wrote in message news:1GWIc.49269$
Arrayluia ! Serait-ce à dire que les constantes VBA sont considérées implicitement comme des chaînes de texte, donc pas besion de cochonneries du genre "" ? Erre-je ou n'erre-je pas ?
sur une feuille de calcul ou dans une zone de liste d'un UserForm,
comment les récupérer pour définir un type de graphique ?
Serge
"Daniel.M" <prenom.maher@bigfoot.inutil.com> a écrit dans le message de
news:uOhpDBRaEHA.2812@tk2msftngp13.phx.gbl...
Ces constantes représentent des nombres.
Même si ces constantes représentaient des chaînes de texte, ça ne
changerait pas
le fait que tu dois initialiser le tableau 'choix' avec leurs valeurs et
non une
string.
Dans tous les cas, les guillemets sont à proscrire sauf si tu entres des
chaînes
comme telles (pas les constantes qui les représentent).
Salutations,
Daniel M.
"garnote" <rien@absent.net> wrote in message
news:1GWIc.49269$eO.32354@edtnps89...
Arrayluia !
Serait-ce à dire que les constantes VBA sont considérées implicitement
comme des chaînes de texte, donc pas besion de cochonneries
du genre "" ?
Erre-je ou n'erre-je pas ?
sur une feuille de calcul ou dans une zone de liste d'un UserForm, comment les récupérer pour définir un type de graphique ?
Serge
"Daniel.M" a écrit dans le message de news:
Ces constantes représentent des nombres.
Même si ces constantes représentaient des chaînes de texte, ça ne changerait pas
le fait que tu dois initialiser le tableau 'choix' avec leurs valeurs et non une
string.
Dans tous les cas, les guillemets sont à proscrire sauf si tu entres des chaînes
comme telles (pas les constantes qui les représentent).
Salutations,
Daniel M.
"garnote" wrote in message news:1GWIc.49269$
Arrayluia ! Serait-ce à dire que les constantes VBA sont considérées implicitement comme des chaînes de texte, donc pas besion de cochonneries du genre "" ? Erre-je ou n'erre-je pas ?
Serge
Daniel.M
Serge,
Tu mets les équivalents numériques dans une autre liste ou une colonne à côté et tu fais un INDEX(LesChiffres;EQUIV(zoneliste;LesChaines;0)) A B xlColumnClustered 51 xl3DColumnClustered 56 xlColumnStacked 55 ...
Les valeurs numériques sont indiquées dans le 'Object Browser' de VBE (F2).
Et tant qu'à y être, tu en profites pour remplacer ces noms anglais par de beaux noms français explicites.
Je ne connais pas de moyen autre pour faire la correspondance entre une chaîne et la valeur de la vraie constante qu'elle représente.
sur une feuille de calcul ou dans une zone de liste d'un UserForm, comment les récupérer pour définir un type de graphique ?
Serge
Serge,
Tu mets les équivalents numériques dans une autre liste ou une colonne à côté et
tu fais un INDEX(LesChiffres;EQUIV(zoneliste;LesChaines;0))
A B
xlColumnClustered 51
xl3DColumnClustered 56
xlColumnStacked 55
...
Les valeurs numériques sont indiquées dans le 'Object Browser' de VBE (F2).
Et tant qu'à y être, tu en profites pour remplacer ces noms anglais par de beaux
noms français explicites.
Je ne connais pas de moyen autre pour faire la correspondance entre une chaîne
et la valeur de la vraie constante qu'elle représente.
Salutations,
Daniel M.
"garnote" <rien@absent.net> wrote in message
news:QnXIc.49425$eO.20207@edtnps89...
Tu mets les équivalents numériques dans une autre liste ou une colonne à côté et tu fais un INDEX(LesChiffres;EQUIV(zoneliste;LesChaines;0)) A B xlColumnClustered 51 xl3DColumnClustered 56 xlColumnStacked 55 ...
Les valeurs numériques sont indiquées dans le 'Object Browser' de VBE (F2).
Et tant qu'à y être, tu en profites pour remplacer ces noms anglais par de beaux noms français explicites.
Je ne connais pas de moyen autre pour faire la correspondance entre une chaîne et la valeur de la vraie constante qu'elle représente.
sur une feuille de calcul ou dans une zone de liste d'un UserForm, comment les récupérer pour définir un type de graphique ?
Serge
docm
Bonjour. Personnellement, étant plutôt prudent, prévoyant, un peu paresseux et craignant l'erreur humaine, j'opterais pour la solution suivante qui laisse peu de place à l'erreur.
Sub Macro2() choix = Array("xlColumnClustered", "xl3DColumnClustered") genre = choix(1) Application.ScreenUpdating = False Set ici = Selection nom = ici.Parent.Name Charts.Add ActiveChart.ChartType = XlEquivalent(genre) ActiveChart.SetSourceData Source:=ici ActiveChart.Location Where:=xlLocationAsObject, Name:=nom End Sub
Function XlEquivalent(genre)
Select Case genre Case "xl3DColumnClustered" XlEquivalent = xl3DColumnClustered End Select
End Function
Sous toutes réserves. Amicalement.
"Daniel.M" wrote in message news:#
Serge,
Tu mets les équivalents numériques dans une autre liste ou une colonne à côté et
tu fais un INDEX(LesChiffres;EQUIV(zoneliste;LesChaines;0)) A B xlColumnClustered 51 xl3DColumnClustered 56 xlColumnStacked 55 ...
Les valeurs numériques sont indiquées dans le 'Object Browser' de VBE (F2).
Et tant qu'à y être, tu en profites pour remplacer ces noms anglais par de beaux
noms français explicites.
Je ne connais pas de moyen autre pour faire la correspondance entre une chaîne
et la valeur de la vraie constante qu'elle représente.
sur une feuille de calcul ou dans une zone de liste d'un UserForm, comment les récupérer pour définir un type de graphique ?
Serge
Bonjour.
Personnellement, étant plutôt prudent, prévoyant, un peu paresseux et
craignant l'erreur humaine, j'opterais pour la solution suivante qui laisse
peu de place à l'erreur.
Sub Macro2()
choix = Array("xlColumnClustered", "xl3DColumnClustered")
genre = choix(1)
Application.ScreenUpdating = False
Set ici = Selection
nom = ici.Parent.Name
Charts.Add
ActiveChart.ChartType = XlEquivalent(genre)
ActiveChart.SetSourceData Source:=ici
ActiveChart.Location Where:=xlLocationAsObject, Name:=nom
End Sub
Function XlEquivalent(genre)
Select Case genre
Case "xl3DColumnClustered"
XlEquivalent = xl3DColumnClustered
End Select
End Function
Sous toutes réserves.
Amicalement.
"Daniel.M" <prenom.maher@bigfoot.inutil.com> wrote in message
news:#3pUP0RaEHA.3524@TK2MSFTNGP12.phx.gbl...
Serge,
Tu mets les équivalents numériques dans une autre liste ou une colonne à
côté et
tu fais un INDEX(LesChiffres;EQUIV(zoneliste;LesChaines;0))
A B
xlColumnClustered 51
xl3DColumnClustered 56
xlColumnStacked 55
...
Les valeurs numériques sont indiquées dans le 'Object Browser' de VBE
(F2).
Et tant qu'à y être, tu en profites pour remplacer ces noms anglais par de
beaux
noms français explicites.
Je ne connais pas de moyen autre pour faire la correspondance entre une
chaîne
et la valeur de la vraie constante qu'elle représente.
Salutations,
Daniel M.
"garnote" <rien@absent.net> wrote in message
news:QnXIc.49425$eO.20207@edtnps89...
Bonjour. Personnellement, étant plutôt prudent, prévoyant, un peu paresseux et craignant l'erreur humaine, j'opterais pour la solution suivante qui laisse peu de place à l'erreur.
Sub Macro2() choix = Array("xlColumnClustered", "xl3DColumnClustered") genre = choix(1) Application.ScreenUpdating = False Set ici = Selection nom = ici.Parent.Name Charts.Add ActiveChart.ChartType = XlEquivalent(genre) ActiveChart.SetSourceData Source:=ici ActiveChart.Location Where:=xlLocationAsObject, Name:=nom End Sub
Function XlEquivalent(genre)
Select Case genre Case "xl3DColumnClustered" XlEquivalent = xl3DColumnClustered End Select
End Function
Sous toutes réserves. Amicalement.
"Daniel.M" wrote in message news:#
Serge,
Tu mets les équivalents numériques dans une autre liste ou une colonne à côté et
tu fais un INDEX(LesChiffres;EQUIV(zoneliste;LesChaines;0)) A B xlColumnClustered 51 xl3DColumnClustered 56 xlColumnStacked 55 ...
Les valeurs numériques sont indiquées dans le 'Object Browser' de VBE (F2).
Et tant qu'à y être, tu en profites pour remplacer ces noms anglais par de beaux
noms français explicites.
Je ne connais pas de moyen autre pour faire la correspondance entre une chaîne
et la valeur de la vraie constante qu'elle représente.