Comment utiliser la valeur d'une cellule comme nom de variable en VBA [résolu]

WhiteRabbit

XLDnaute Nouveau
Bonjour,

Je souhaiterais pouvoir utiliser la valeur d'une cellule pour ensuite l'utiliser comme nom de variable dans une macro

Cela m'éviterait beaucoup de test IF redondant et vraiment impossible à garder propre dans l'évolution de l'application.

Voici la portion de code que je cherche à optimiser. Il s'agit de deux des itérations IF que je cherche à automatiser en une seule itération IF qui saurait utiliser la variable nom pour ensuite aller chercher les bonnes variable cXXX :

If nom = "PIERRE" Then
typ_A = Worksheets("feuille1").Range("C" & cPIERRE).Value
typ_B = Worksheets("feuille1").Range("A" & cPIERRE).Value
ref = cPIERRE
End If
If nom = "PAUL" Then
typ_A = Worksheets("feuille1").Range("C" & cPAUL).Value
typ_B = Worksheets("feuille1").Range("A" & cPAUL).Value
ref = cPAUL
End If

Savez vous s'il est possible de nommer les paramètres du Range d'une façon (par exemple "C" & c&nom) automatisable ?

Merci pour votre aide.
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Comment utiliser la valeur d'une cellule comme nom de variable en VBA

Bonjour,

perso, pas tout compris, difficile avec juste un bout de code arraché d'une procédure et jeté sur un post de voir où est ton problème...
bon après midi
@+
 

WhiteRabbit

XLDnaute Nouveau
Re : Comment utiliser la valeur d'une cellule comme nom de variable en VBA

C'est good.

Désolé j'ai essayé de faire au mieux car c'etait un point bloquant au milieu d'un fichier de 15 mo que j'essai d'optimiser.
J'ai réglé le pb en passant en paramètre l'info dont j'ai besoin .

Merci qd meme
 

tototiti2008

XLDnaute Barbatruc
Re : Comment utiliser la valeur d'une cellule comme nom de variable en VBA

Bonjour WhiteRabbit, Bonjour jpb, Bonjour Pierrot,

Si j'ai compris, pas possible de concatener le contenu d'une cellule avec un autre bout de texte pour constituer le nom d'une variable
Ce qui est conseillé en général est d'utiliser un tableau de variables

Code:
Dim c(1 to 2) as Long, Indice as long
c(1) = ValeurPierre
c(2) = ValeurPaul
Indice = Switch(nom = "PIERRE", 1, nom = "PAUL", 2)
typ_A = Worksheets("feuille1").Range("C" & c(Indice)).Value
   typ_B = Worksheets("feuille1").Range("A" & c(Indice)).Value
   ref = c(Indice)
 

Pierrot93

XLDnaute Barbatruc
Re : Comment utiliser la valeur d'une cellule comme nom de variable en VBA [résolu]

Re,

car c'etait un point bloquant au milieu d'un fichier de 15 mo que j'essai d'optimiser

dans ce cas il est préférable de présenter sur le forum un tout petit fichier ne représentant que le problème posé avec le résultat attendu... A noter pour la prochaîne fois....

bon après midi
@+

Edition : re toto
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof