Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion zmus
  • 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 !

Z

zmus

Guest
😱

Bonjour,
dans une macro VBA excel je doit chercher une valeur qui représente les trois premier caractères d'une cellule.
Veuillez m'aider pour améliorer le code ci-dessous:
CelNLot = MaPlage.Range("H2:H67").Find(CdClt, lookat:=xlWhole)

Merci d'avance.
 
Re : Fonction .find

Bonjour Zmus, bonjour le forum,

Peut-être comme ça :
Code:
Dim CelNLot As Range
CelNLot = MonOnglet.Range("H2:H67").Find(Left(MaCellule,3), lookat:=xlWhole)
 
Re : Fonction .find

Oui Mr. Robert,

j'est déja essaier mais ça marche pas.
CelNLot = Sheets("Réservation").Range("H2:H67").Find(Left(Sheets("Réservation").Range("H2:H67"), 3), lookat:=xlPart)

.......
 
Re : Fonction .find

Bonjour Zmus, bonsjour le forum,

Non, regarde. La plage de recherche est indiquée avant le Find. Après tu ne peux plus utiliser de plage...
Code:
CelNLot = Sheets("Réservation").Range("H2:H67").Find([COLOR=red]Left(Sheets("Réservation").Range("H2:H67"), 3)[/COLOR], lookat:=xlPart)
le premier argement est CEQUETUCHERCHES. Soit tu tapes directement à la main je cherches "Zmu" :
Code:
With Sheets("Réservation")
    CelNLot = .Range("H2:H67").Find("Zmu", lookat:=xlPart))
End With
soit tu fais rérence à une cellule contenant Zmu (mais pas une plage!). Si dans l'onglet Réservation, B2 = "Zmus" alors :
Code:
With Sheets("Réservation")
    CelNLot = .Range("H2:H67").Find(Left(.Range("B2"), 3), lookat:=xlPart)
End With

Cela signifie que tu définis une variable (Range) nommé CelNLot qui est la première occurrence trouvée, dans la plage de référence H2:H67 de l'onglet Reservation,des tois premiers caractère de la cellule B2 (toujours de l'onglet Réservation dans ce cas mais tu pourrais aussi changer). Et comme tu as définis l'argument LookAt à xlPart cela fonctionnera par exemple avec H3 = "Zmusuisjefaitbiencomprendre?"
Si aucunne auccurrence est trouvée, CelNLot renverra Nothing, sinon CelNLot sera la cellule de la première occurrence trouvé. Tu pourras la sélectionner : CelNLot.Select, répupérer son contenu : Ctnu = CelNLot.Value, etc... Pffff faut que je boive moi !!! Sinon regarde l'aide VBA de FIND.

Édition :

Ooops Bonjour JB et la froideur de ses codes... Brrr malgré tout son savoir j'aurais pas aimé l'avoir comme prof...
 
Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
255
Réponses
1
Affichages
313
Réponses
12
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…