OVH Cloud OVH Cloud

Pb de variable

3 réponses
Avatar
ThierryP
Bonjour tout le monde !

Un truc incompréhensible (pour moi évidemment) :

Public PlageDest, ValeurCherchée As String 'ceci en haut de mon module1

sub zaza() 'dans une feuille
ValeurCherchée = Application.WorksheetFunction. _
VLookup(Sheets("Résultat").Range("D2").Value,
Sheets("Fournisseur").Range("$A$3:$J$1000"), 1) 'La valeur est trouvée
PlageDest = "D9"
CopierColler
.....
.....
end sub
---------
sub CopierColler()
Sheets("Achat").Range(PlageDest).Select
Selection.Value = ValeurCherchée
.....
.....
end sub

La valeur de PlageDest est bien passée dans la sub CopierColler, pas
celle de ValeurCherchée ??????????

Merci d'avance à celui, celle ou ceux qui voudront bien m'éclairer

thierryp

3 réponses

Avatar
Philippe
Bonjour,

Je viens d'effectguer un test en simplifaint ton code (j'ai créé la feuille
"achat"):

Sub zaza() 'dans une feuille
ValeurCherchée = "toto"
PlageDest = "D9"
CopierColler
End Sub

Sub CopierColler()
Sheets("Achat").Range(PlageDest).Select
Selection.Value = ValeurCherchée
End Sub

...ben ça marche ! as-tu essayé avec le "pas à pas" (touche F8) pour
analyser si la variable perd sa mémoire lors du passage à une autre procédure
?

Bon courage.

Philippe.



Bonjour tout le monde !

Un truc incompréhensible (pour moi évidemment) :

Public PlageDest, ValeurCherchée As String 'ceci en haut de mon module1

sub zaza() 'dans une feuille
ValeurCherchée = Application.WorksheetFunction. _
VLookup(Sheets("Résultat").Range("D2").Value,
Sheets("Fournisseur").Range("$A$3:$J$1000"), 1) 'La valeur est trouvée
PlageDest = "D9"
CopierColler
......
......
end sub
---------
sub CopierColler()
Sheets("Achat").Range(PlageDest).Select
Selection.Value = ValeurCherchée
......
......
end sub

La valeur de PlageDest est bien passée dans la sub CopierColler, pas
celle de ValeurCherchée ??????????

Merci d'avance à celui, celle ou ceux qui voudront bien m'éclairer

thierryp



Avatar
ThierryP
C'est bien parce que j'ai fait du pas à pas et que j'ai vu que la valeur
ne passait pas que j'ai posté !!
J'ai un peu tout essayé, j'ai collé des déclarations de variables sur ma
feuille, dans le module, j'ai déplacé les sub de la feuille dans le
module et vice-versa, renommé les sub de private en sub. J'ai fait le
même test que toi en simplifiant....Rien à faire !!!

Je creuse, je creuse

thierryp

Bonjour,

Je viens d'effectguer un test en simplifaint ton code (j'ai créé la feuille
"achat"):

Sub zaza() 'dans une feuille
ValeurCherchée = "toto"
PlageDest = "D9"
CopierColler
End Sub

Sub CopierColler()
Sheets("Achat").Range(PlageDest).Select
Selection.Value = ValeurCherchée
End Sub

...ben ça marche ! as-tu essayé avec le "pas à pas" (touche F8) pour
analyser si la variable perd sa mémoire lors du passage à une autre procédure
?

Bon courage.

Philippe.




Bonjour tout le monde !

Un truc incompréhensible (pour moi évidemment) :

Public PlageDest, ValeurCherchée As String 'ceci en haut de mon module1

sub zaza() 'dans une feuille
ValeurCherchée = Application.WorksheetFunction. _
VLookup(Sheets("Résultat").Range("D2").Value,
Sheets("Fournisseur").Range("$A$3:$J$1000"), 1) 'La valeur est trouvée
PlageDest = "D9"
CopierColler
......
......
end sub
---------
sub CopierColler()
Sheets("Achat").Range(PlageDest).Select
Selection.Value = ValeurCherchée
......
......
end sub

La valeur de PlageDest est bien passée dans la sub CopierColler, pas
celle de ValeurCherchée ??????????

Merci d'avance à celui, celle ou ceux qui voudront bien m'éclairer

thierryp





Avatar
ThierryP
C'est bon, j'ai trouvé : une déclaration DIM dans une sub qui trainait,
on se demande bien pourquoi !!!
@+ thierryp

Bonjour tout le monde !

Un truc incompréhensible (pour moi évidemment) :

Public PlageDest, ValeurCherchée As String 'ceci en haut de mon module1

sub zaza() 'dans une feuille
ValeurCherchée = Application.WorksheetFunction. _
VLookup(Sheets("Résultat").Range("D2").Value,
Sheets("Fournisseur").Range("$A$3:$J$1000"), 1) 'La valeur est trouvée
PlageDest = "D9"
CopierColler
.....
.....
end sub
---------
sub CopierColler()
Sheets("Achat").Range(PlageDest).Select
Selection.Value = ValeurCherchée
.....
.....
end sub

La valeur de PlageDest est bien passée dans la sub CopierColler, pas
celle de ValeurCherchée ??????????

Merci d'avance à celui, celle ou ceux qui voudront bien m'éclairer

thierryp