OVH Cloud OVH Cloud

Activer cellule cherchée

2 réponses
Avatar
Tatane
Bonjour,

J'ai un souci: Dans un UserForm, je voudrais modifier une cellule après
l'avoir trouvée en fonction d'un critère. Voici ce que j'ai "tapoté" :

Private Sub Label7_click()
Dim RECHERCHE As Variant
Dim DEP As Variant
Dim X As Variant
RECHERCHE = ChercherAFF.Value
DEP = WorksheetFunction.VLookup(RECHERCHE, Range("TOTAL"), 3, False)
CIBLE = Range("C" & DEP).Activate
X = InputBox("Entrer la valeur à modifier.")
If X <> "" Then CIBLE = X

End Sub

Mais cela me renvoie à la ligne correspondante à la valeur trouvée (50).

Quelqu'un aurait-il du temps à me consacrer ?

2 réponses

Avatar
Daniel
Bonjour.
Je ne comprends pas trop ce que tu as voulu faire. Au lieu d'utiliser
VLookup (l'équivalent de RECHEERCHEV), utilise Match (EQUIV). Il faut
retailler ta zone TOTAL qui doit être une colonne :
DEP = WorksheetFunction.Match(RECHERCHE, Range("TOTAL").Resize(,1),0)
La valeur trouvée sera le décalage par rapport à la première ligne de
"TOTAL" à 1 près (je me comprends, mais je n'arrive pas à le formuler : par
exemple, si tu obtiens 5 et que "TOTAL" commence en ligne 2, ce sera la 6e
ligne).
Cordialement.
Daniel
"Tatane" a écrit dans le message de news:

Bonjour,

J'ai un souci: Dans un UserForm, je voudrais modifier une cellule après
l'avoir trouvée en fonction d'un critère. Voici ce que j'ai "tapoté" :

Private Sub Label7_click()
Dim RECHERCHE As Variant
Dim DEP As Variant
Dim X As Variant
RECHERCHE = ChercherAFF.Value
DEP = WorksheetFunction.VLookup(RECHERCHE, Range("TOTAL"), 3, False)
CIBLE = Range("C" & DEP).Activate
X = InputBox("Entrer la valeur à modifier.")
If X <> "" Then CIBLE = X

End Sub

Mais cela me renvoie à la ligne correspondante à la valeur trouvée (50).

Quelqu'un aurait-il du temps à me consacrer ?


Avatar
Tatane
Merci Daniel,
J'ai juste ajouté + 1 à la fin de la ligne et je tombe pil-poil !

Merci encore d'avoir pris le temps.


Bonjour.
Je ne comprends pas trop ce que tu as voulu faire. Au lieu d'utiliser
VLookup (l'équivalent de RECHEERCHEV), utilise Match (EQUIV). Il faut
retailler ta zone TOTAL qui doit être une colonne :
DEP = WorksheetFunction.Match(RECHERCHE, Range("TOTAL").Resize(,1),0)
La valeur trouvée sera le décalage par rapport à la première ligne de
"TOTAL" à 1 près (je me comprends, mais je n'arrive pas à le formuler : par
exemple, si tu obtiens 5 et que "TOTAL" commence en ligne 2, ce sera la 6e
ligne).
Cordialement.
Daniel
"Tatane" a écrit dans le message de news:

Bonjour,

J'ai un souci: Dans un UserForm, je voudrais modifier une cellule après
l'avoir trouvée en fonction d'un critère. Voici ce que j'ai "tapoté" :

Private Sub Label7_click()
Dim RECHERCHE As Variant
Dim DEP As Variant
Dim X As Variant
RECHERCHE = ChercherAFF.Value
DEP = WorksheetFunction.VLookup(RECHERCHE, Range("TOTAL"), 3, False)
CIBLE = Range("C" & DEP).Activate
X = InputBox("Entrer la valeur à modifier.")
If X <> "" Then CIBLE = X

End Sub

Mais cela me renvoie à la ligne correspondante à la valeur trouvée (50).

Quelqu'un aurait-il du temps à me consacrer ?