Variable invariable

db -  
Le Pingou Messages postés 12713 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
je cherche comment faire une variable qui puisse garder la même valeur tout au long de la macro, sachant que cette variable doit être la valeur de la 1ère cellule qui est activée dans la macro

5 réponses

Ivanhoe
 
Bonjour !
à partir du moment où tu as attribué une valeur à ta variable, elle gardera cette même valeur tout au long de la macro tant qu'aucune instruction ne vient la modifer.
Une fois que la cellule en question est activée, rajoute simplement :

Dim Nomdelavariable
Nomdelavariable = ActiveCell.Value

est ce que ça te convient ?
0
db
 
et bien c'est ce que j'ai fait, mais il y a un hic: ma variable représente donc ActiveCell.Value au début de la macro et me sert à faire une recherche,et quand je la rappelle, la cellule active n'étant plus la même à ce moment là, ma variable change de valeur, ce qui me fausse tout, tu comprends ? Et je n'arrive pas à résoudre ça...
0
Le Pingou Messages postés 12713 Date d'inscription   Statut Contributeur Dernière intervention   1 467
 
Bonjour db,
Pouvez-vous mette une copie de votre macro et indiquer le nom de la variable concernée?
Question: vous rappelez la variable dans la même macro .....?
0
db
 
Finalement j'ai laissé tomber cette macro, mais ça me chagrine quand même cette histoire donc je vais expliquer en gros (ça m'énervait tellement que j'ai effacé tout mon code !!! je sais: c'est idiot)

ma macro au départ devait sélectionner une feuille, puis une certaine cellule puis la valeur de cette cellule devait être récupérée dans une variable (pour s'en servir en boucle) Seulement après, au cours de la macro, la cellule active changeait et donc la variable code changeait de valeur aussi or j'avais besoin de rappeler la première valeur et non la dernière. C'est ça qui m'ennuyait. Je n'ai pas trouvé de solution...
0

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

Posez votre question
Le Pingou Messages postés 12713 Date d'inscription   Statut Contributeur Dernière intervention   1 467
 
Bonjour db,
Dommage pour le code...
En principe une variable doit être définie au débute du code ... exemple: nLi est ma variable ..

Sub MAJ_EvoReBu(nuCode, nvTxt)
' Macro enregistrée le 30.11.2007 par Jean-Pierre Purro
Dim nLi As Integer

Selection.Find(What:=derCode).Offset(0, 0).Select
nLi = ActiveCell.Row
Selection.EntireRow.Insert

Range(Cells(nLi + 1, 1), Cells(nLi + 1, 6)).Select
Selection.Cut
Range(Cells(nLi + 0, 1), Cells(nLi + 0, 6)).Select
Selection.Insert Shift:=xlDown

Cells(nLi + 1, 1) = nuCode
Cells(nLi + 1, 3) = nvTxt
Range(Cells(nLi + 0, 4), Cells(nLi + 0, 6)).Select
Selection.AutoFill Destination:=Range(Cells(nLi + 0, 4), Cells(nLi + 1, 6)), Type:=xlFillDefault

End Sub

Dans cette macro elle aura toujours la même valeur.

Bonne fin de journée.
0