Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Selectionner une cellule avec vlookup en vba

  • Initiateur de la discussion Initiateur de la discussion aeque
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

aeque

XLDnaute Occasionnel
Bonjour le fofo

Voilà quelques heures que je bloques là dessus.

J'aimerai sélectionner une cellule en utilisant Vlookup mais à chaque fois cela me dit "Variable objet ou Variable de bloc With non définie"

J'ai essayé de le défini en vain

quelqu'un peut-il m'aider?

Merci




Private Sub CheckBox22_AfterUpdate()

If Sheets("Formules").Range("Q2") = True Then

Dim myRange As Range

myRange = WorksheetFunction.VLookup(Sheets("STP").Range("A1"), Range("main_informations"), 44, False)

myRange.Select

ActiveCell = "X"

Else

ActiveCell.ClearContents

End If
End Sub
 
Re : Selectionner une cellule avec vlookup en vba

Bonjour aeque,

VLOOKUP ne renvoie pas une plage mais une valeur (c'est recherchev dans la feuille de calcul), la valeur de la 44ème colonne de ta plage..

On ne sélectionne pas une valeur, d'où le soucis.
 
Re : Selectionner une cellule avec vlookup en vba

Bonjour Aeque, Tototiti, bonjour le forum,

Peut-être comme ça :
Code:
Private Sub CheckBox22_AfterUpdate()
Dim myRange As Range
If Sheets("Formules").Range("Q2") = True Then
    Set myRange = .Range("main_informations").Find(Sheets("STP").Range("A1"), , xlValues, xlWhole).Offset(0,44)
    myRange.Value = "X"
Else
    ActiveCell.ClearContents
End If
End Sub
 
Dernière édition:
Re : Selectionner une cellule avec vlookup en vba

Merci tototiti

Mais alors comment faire?

J'ai besoin de pouvoir sélectionner une cellule en fonction d'une cellule liée (ici Sheets("STP").Range("A1" ))

C'est cette cellune qui défini où chercher dans mon tableau (ici Range("main_informations"))
 
Re : Selectionner une cellule avec vlookup en vba

Robert

Cela me renvoi une erreur Référence incorrecte ou non qualifiée pour

Set myRange = .Range("main_informations").Find(Sheets("STP").Range("A1"), , xlValues, xlWhole)
 
Re : Selectionner une cellule avec vlookup en vba

Bonjnour le fil, bonjour le forum,

il y avait une erreur en effet essaie :
Code:
Set myRange = Range("main_informations").Find(Sheets("STP").Range("A1"), , xlValues, xlWhole).Offset(0,44)


Mais sans ton fichier, difficile de t'aider plus... Regarde l'aide VBA sur le mot clé Find.
 
Dernière édition:
Re : Selectionner une cellule avec vlookup en vba

Merci Robert ca Marche Nikel

c juste ajouté une ligne est c exactement ce que je souhaitais faire

Private Sub CheckBox22_AfterUpdate()
Dim myRange As Range
If Sheets("Formules").Range("Q2") = True Then
Set myRange = Range("main_informations").Find(Sheets("STP").Range("A1"), , xlValues, xlWhole).Offset(0, 44)
myRange.Select
ActiveCell = "X"
Else
ActiveCell.ClearContents
End If

End Sub


Merci bcp
 
Re : Selectionner une cellule avec vlookup en vba

Merci Robert ca Marche Nikel

c juste ajouté une ligne est c exactement ce que je souhaitais faire

Private Sub CheckBox22_AfterUpdate()
Dim myRange As Range
If Sheets("Formules").Range("Q2") = True Then
Set myRange = Range("main_informations").Find(Sheets("STP").Range("A1"), , xlValues, xlWhole).Offset(0, 44)
myRange.Select
ActiveCell = "X"
Else
ActiveCell.ClearContents
End If

End Sub


Merci bcp
 
Re : Selectionner une cellule avec vlookup en vba

Bonjour le fil, bonjour le forum,

tu n'étais pas obligé de sélectionner, ça marche aussi comme ça :
Code:
Private Sub CheckBox22_AfterUpdate()
Dim myRange As Range
If Sheets("Formules").Range("Q2") = True Then
     Set myRange = Range("main_informations").Find(Sheets("STP").Range("A1"), , xlValues, xlWhole).Offset(0, 44)
     myRange.Value = "X"
Else
     ActiveCell.ClearContents
End If
End Sub
 
Re : Selectionner une cellule avec vlookup en vba

Merci pour l'info

par contre lorsque je rentre ce code

Private Sub CheckBox22_AfterUpdate()
Dim myRange As Range
If Sheets("Formules").Range("Q2") = True Then
Set myRange = Range("main_informations").Find(Sheets("STP").Range("A1"), , xlValues, xlWhole).Offset(0, 44)
myRange.Value = "X"
Else
ActiveCell.ClearContents
End If
End Sub
-----------------------------------------------------------------------
Private Sub CheckBox23_AfterUpdate()
Dim myRange As Range
If Sheets("Formules").Range("Q3") = True Then
Set myRange = Range("main_informations").Find(Sheets("STP").Range("A1"), , xlValues, xlWhole).Offset(0, 45)
myRange.Value = "X"
Else
ActiveCell.ClearContents
End If
End Sub




Je ne comprends pas pourquoi ca m'efface le X des autres cellules lorsque je clique dans les CheckBox. Je m'explique

- Je clique sur la CheckBox22 Le X se met dans la bonne case (A20)
- Je clique sur la CheckBox23 Le X de la cellule (A20) disparait puis un X se met dans la bonne case (B21)

Alors que je souhaiterai que tous restent en place ou soit supprimés si jamais la cache est cochée ou pas


Et désolé pour le fichier il est très gros dans plus de 5 MO. Si il le faut vraiment je vais tenter de recreer les macros juste nécessaire
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…