Comment utiliser la valeur renvoyée par un FIND comme un range?
TOM
-
Gyrus Messages postés 3334 Date d'inscription Statut Membre Dernière intervention -
Gyrus Messages postés 3334 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un problème pour utiliser comme je le souhaite la valeur renvoyée par le Find ci dessous ( dans une boucle for each):
Set result = RangeColonneMISEAJOUR.Find(What:=CellActiveTSUP.Value2, LookIn:=xlValues, LookAt:=xlWhole)
result est sensé être un objet "range" et pourtant la seule propriété que je peux appliquer au "result" est "result.Address" qui me donne une valeur de type "$A$2" (ses coordonnées quand je fais un MsgBox result.Address)
le resultat du FIND ne fais pas de result la cellule active de l'onglet par ailleurs.....
je souhaite appliqué un offset à partir de la cellule du "result" c'est pourquoi j'ai besoin du range du result en question..!!
est ce que quelqu'un vois une solution?
peut être une conversion de coordonnées "$A$2" en range est possible-> soit "result.Address" à convertir en range.........
Merci d'avance pour votre aide....
J'ai un problème pour utiliser comme je le souhaite la valeur renvoyée par le Find ci dessous ( dans une boucle for each):
Set result = RangeColonneMISEAJOUR.Find(What:=CellActiveTSUP.Value2, LookIn:=xlValues, LookAt:=xlWhole)
result est sensé être un objet "range" et pourtant la seule propriété que je peux appliquer au "result" est "result.Address" qui me donne une valeur de type "$A$2" (ses coordonnées quand je fais un MsgBox result.Address)
le resultat du FIND ne fais pas de result la cellule active de l'onglet par ailleurs.....
je souhaite appliqué un offset à partir de la cellule du "result" c'est pourquoi j'ai besoin du range du result en question..!!
est ce que quelqu'un vois une solution?
peut être une conversion de coordonnées "$A$2" en range est possible-> soit "result.Address" à convertir en range.........
Merci d'avance pour votre aide....
A voir également:
- Comment utiliser la valeur renvoyée par un FIND comme un range?
- Comment utiliser un chromecast - Guide
- Utiliser iphone comme webcam - Guide
- Utiliser tablette comme deuxieme ecran - Guide
- Utiliser écran pc portable comme moniteur hdmi - Guide
- Comment utiliser utorrent - Télécharger - Téléchargement & Transfert
4 réponses
Bonjour à tous..................je m'AUTO répond car j'ai trouver ma propre solution..
et je pense que cela pourra servir à d'autres................... :
Le but était donc d'exploiter le résultat d'un FIND comme un OBJET RANGE....
Pour se faire il est nécessaire de récupérer l'adresse de la cellule trouvée par le FIND
ex : Set result = RangeColonneMISEAJOUR.Find(What:=CellActiveTSUP.Value2)
AdressTSUP = result.Address
ensuite utiliser la technique ci dessous pour récupérer l'adresse sans le caractère $
TotalAdressTSUP = Replace(AdressTSUP, "$", "") ' suppression de la syntaxe $ dans l'adresse de la cellule
ensuite on défini ligne et colone de la cellule du résultat du FIND comme ci dessous :
ColonneTSUP = Left(TotalAdressTSUP, 1) ' Récupération du Digit String de l'adresse de la Colonne cellule
'MsgBox ColonneTSUP
LigneTSUP = Mid$(TotalAdressTSUP, 2) ' Récupération du Digit Integer de l'adresse de la Ligne cellule
'MsgBox LigneTSUP
ensuite :
Cells(LigneTSUP, ColonneTSUP) défini la cellule du RESULTAT du FIND sur laquelle nous pouvons par ewemple appliquer un OFFSET ou autre pour travailler avec un OBJET RANGE..............
VOILA...........................................
et je pense que cela pourra servir à d'autres................... :
Le but était donc d'exploiter le résultat d'un FIND comme un OBJET RANGE....
Pour se faire il est nécessaire de récupérer l'adresse de la cellule trouvée par le FIND
ex : Set result = RangeColonneMISEAJOUR.Find(What:=CellActiveTSUP.Value2)
AdressTSUP = result.Address
ensuite utiliser la technique ci dessous pour récupérer l'adresse sans le caractère $
TotalAdressTSUP = Replace(AdressTSUP, "$", "") ' suppression de la syntaxe $ dans l'adresse de la cellule
ensuite on défini ligne et colone de la cellule du résultat du FIND comme ci dessous :
ColonneTSUP = Left(TotalAdressTSUP, 1) ' Récupération du Digit String de l'adresse de la Colonne cellule
'MsgBox ColonneTSUP
LigneTSUP = Mid$(TotalAdressTSUP, 2) ' Récupération du Digit Integer de l'adresse de la Ligne cellule
'MsgBox LigneTSUP
ensuite :
Cells(LigneTSUP, ColonneTSUP) défini la cellule du RESULTAT du FIND sur laquelle nous pouvons par ewemple appliquer un OFFSET ou autre pour travailler avec un OBJET RANGE..............
VOILA...........................................
Bonjour,
Tout cela me semble bien compliqué !
Set resultat = MaPlage.find(........
Le résultat de la recherche avec Find étant un objet range, tu peux connaitre directement
La ligne avec resultat.row
La colonne avec resultat.column
Et appliquer un décalage avec resultat.offset(x,y)
A+
Tout cela me semble bien compliqué !
Set resultat = MaPlage.find(........
Le résultat de la recherche avec Find étant un objet range, tu peux connaitre directement
La ligne avec resultat.row
La colonne avec resultat.column
Et appliquer un décalage avec resultat.offset(x,y)
A+