VBA Range et Variable

Résolu
freddv Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
solidarinfo Messages postés 147 Date d'inscription   Statut Membre Dernière intervention   -
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.

5 réponses

Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Bonjour,

Essaie avec ça:

Dim lig As Long

lig = Clng(Range("F3").Value)

Range("A" & lig & ":R" & lig & ",A5:R5").Select 

;o)
1
freddv Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
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

cp = Range("D3").Value

cp = 2150


Ou

cp = CStr(Range("D3").Value)

cp = "02150" 


;o)
0
freddv Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup polux 31 , tu est trop fort !!! lol
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Ben non, pas trop fort ... juste que je sais comment faire.

;o)
0
solidarinfo Messages postés 147 Date d'inscription   Statut Membre Dernière intervention   13
 
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 ?
0