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

Vba et recherchev

  • Initiateur de la discussion Initiateur de la discussion Vilain
  • 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 !

Vilain

XLDnaute Accro
Bonjour,
Je rencontre un problème sur un fichier professionnel.
Je m'explique
Au début de ma macro, j'ai une inputbox. La valeur saisi est ma variable. Je crée un onglet avec le nom saisi dans la box. Comment faire une recherchev dans cette onglet (sans le "nommer" puisque le nom change a chaque fois)?
Merci pour votre aide
 
Re : Vba et recherchev

Bonjour Gillus, bonjour le forum,

Tu crées un onglet avec le nom saisi dans la box. Donc tu peux ensuite le nommer en utilisant la variable non ? Sans voir ton fichier ou ta macro difficile de t'aider davantage...
 
Re : Vba et recherchev

Ma formule est la suivante :
=vlookup(RC[-1], 'CM9'!R2C6:R24C11,6,False))
Comment changer le 'CM9' en utilisant ma variable ?
CM9 est la valeur de ma variable définit grâce a la box.
Merci d'avance
 
Re : Vba et recherchev

Bonjour Gillus, bonjour le forum,

Essai comme ça (tu adapteras) :
Code:
Dim ong As String 'déclare la variable ong
ong = InputBox("Tapez le nom de l'onglet.", "ONGLET") 'définit la boîte d'entrée ong
'place la formule
Range("ta_cellule").FormulaR1C1 = "=VLOOKUP(RC[-1]," & ong & "!RC[-1]:R[1]C,2,FALSE)"
 
Re : Vba et recherchev

Bonjour Gillus, bonjour le forum,

Un petit test de vérification peu s'avérer efficace... Je te propose de modifier le code comme ça :
Code:
Dim ong As String 'déclare la variable ong (ONGlet)
Dim x As Byte 'déclare la variable x (incrément d'onglet)
 
début: 'étiquette
ong = InputBox("Tapez le nom de l'onglet.", "ONGLET") 'définit la boîte d'entrée ong
For x = 1 To Sheets.Count 'boucles sur tous les onglets du classeur
    If Sheets(x).Name = ong Then GoTo suite 'si le nom de l'onglet correspond à ong, va à l'étiquette "suite"
Next x 'prochain onglet de la boucle
MsgBox "Il n'existe pas d'onglet correspondant ! Veuillez recommencer." 'message
GoTo début 'va à l'étiquette "début"
 
suite: 'étiquette
'place la formule
Range("ta_cellule").FormulaR1C1 = "=VLOOKUP(RC[-1]," & ong & "!RC[-1]:R[1]C,2,FALSE)"
 
Re : Vba et recherchev

Bonjour Gillus, bonjour le forum,

Ooops une version corrigée...
Code:
Dim ong As String 'déclare la variable ong (ONGlet)
Dim x As Byte 'déclare la variable x (incrément d'onglet)
début: 'étiquette
ong = InputBox("Tapez le nom de l'onglet.", "ONGLET") 'définit la boîte d'entrée ong
If ong = "" Then Exit Sub 'si boîte d'entrée non renseignée, sort de la procédure
For x = 1 To Sheets.Count 'boucles sur tous les onglets du classeur
    If Sheets(x).Name = ong Then GoTo suite 'si le nom de l'onglet correspond à la ong, va à l'étiquette "suite"
Next x 'prochain onglet de la boucle
MsgBox "Il n'existe pas d'onglet correspondant ! Veuillez recommencer." 'message
GoTo début 'va à l'étiquette "début"
suite: 'étiquette
'place la formule
Range("ta_cellule").FormulaR1C1 = "=VLOOKUP(RC[-1]," & ong & "!RC[-1]:R[1]C,2,FALSE)"
 
- 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

Réponses
3
Affichages
233
Réponses
6
Affichages
247
Réponses
5
Affichages
701
Réponses
4
Affichages
225
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…