VBA Range et Variable
Résolu/Fermé
freddv
Messages postés
13
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
18 septembre 2012
-
14 oct. 2009 à 12:07
solidarinfo Messages postés 147 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 8 décembre 2021 - 4 août 2016 à 15:36
solidarinfo Messages postés 147 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 8 décembre 2021 - 4 août 2016 à 15:36
Bonjour,
j'ai un petit souci dans une macro j'ai une plage de selectionné comme ceci : Range("A8:R8,A5:R5").Select
en sachant que la valeur 8 contenu dans A8:R8 peut changer j'ai cette valeur dans la cellule F3, mais je n'y arrive pas, a l'aide si quelqu'un peu m'aider. j'ai beau regarder partout essayer des bout de code, rien de rien
Merci.
j'ai un petit souci dans une macro j'ai une plage de selectionné comme ceci : Range("A8:R8,A5:R5").Select
en sachant que la valeur 8 contenu dans A8:R8 peut changer j'ai cette valeur dans la cellule F3, mais je n'y arrive pas, a l'aide si quelqu'un peu m'aider. j'ai beau regarder partout essayer des bout de code, rien de rien
Merci.
5 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
14 oct. 2009 à 13:26
14 oct. 2009 à 13:26
Bonjour,
Essaie avec ça:
;o)
Essaie avec ça:
Dim lig As Long lig = Clng(Range("F3").Value) Range("A" & lig & ":R" & lig & ",A5:R5").Select
;o)
freddv
Messages postés
13
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
18 septembre 2012
14 oct. 2009 à 13:51
14 oct. 2009 à 13:51
Merci beaucoup Polux 31, cela fonctionne toutefois il me reste une derniere question, j'ai quasiment le même probleme dans une autre cellule :
ActiveChart.PivotLayout.PivotTable.PivotFields("Client").CurrentPage = _
("nom1")
nom1 correspond cette fois a un nom variable qui se trouve en D3. je me suis inspiré de ton code mais je pense que cela differe du fait que ce n'est plus numerique...
A tu une idée? en tout les cas merci encore de m'avoir aidé.
Cordialement.
ActiveChart.PivotLayout.PivotTable.PivotFields("Client").CurrentPage = _
("nom1")
nom1 correspond cette fois a un nom variable qui se trouve en D3. je me suis inspiré de ton code mais je pense que cela differe du fait que ce n'est plus numerique...
A tu une idée? en tout les cas merci encore de m'avoir aidé.
Cordialement.
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
14 oct. 2009 à 14:40
14 oct. 2009 à 14:40
Tu veux dire que la cellule D3 contient une chaine de caractères et non une valeur numérique ?
Si c'est le cas il faut juste faire:
ActiveChart.PivotLayout.PivotTable.PivotFields("Client").CurrentPage = _
CStr(Range("D3").Value)
La fonction CStr() convertit la variable en chaîne de caractère. Par exemple, si D3 contient un code postal : 02150
Ou
;o)
Si c'est le cas il faut juste faire:
ActiveChart.PivotLayout.PivotTable.PivotFields("Client").CurrentPage = _
CStr(Range("D3").Value)
La fonction CStr() convertit la variable en chaîne de caractère. Par exemple, si D3 contient un code postal : 02150
cp = Range("D3").Value cp = 2150
Ou
cp = CStr(Range("D3").Value) cp = "02150"
;o)
freddv
Messages postés
13
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
18 septembre 2012
14 oct. 2009 à 15:06
14 oct. 2009 à 15:06
Merci beaucoup polux 31 , tu est trop fort !!! lol
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
14 oct. 2009 à 15:24
14 oct. 2009 à 15:24
Ben non, pas trop fort ... juste que je sais comment faire.
;o)
;o)
solidarinfo
Messages postés
147
Date d'inscription
jeudi 26 mars 2009
Statut
Membre
Dernière intervention
8 décembre 2021
13
4 août 2016 à 15:36
4 août 2016 à 15:36
Bonjour Polux31,
Une question dans le même sujet STP :
Si j'ai :
l1=1
c2=40
l2=1
c2=500
et que au contraire je veux que :
l1= Évolue chaque mois
c2=Évolue chaque mois
l2=Évolue chaque mois
c2=Évolue chaque mois
Comment peut on faire sans obliger l'utilisateur à renseigner un inputBox ?
Une question dans le même sujet STP :
Si j'ai :
l1=1
c2=40
l2=1
c2=500
et que au contraire je veux que :
l1= Évolue chaque mois
c2=Évolue chaque mois
l2=Évolue chaque mois
c2=Évolue chaque mois
Comment peut on faire sans obliger l'utilisateur à renseigner un inputBox ?