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

Problème avec macro de sélection

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 !

libellule85

XLDnaute Accro
Bonsoir tout le monde,
j'ai un problème avec la macro ci-dessous. En effet, elle bug sur la recherche de certain nom (notamment sur celui de Potier), elle plante souvent sur la ligne sel.Select n'étant pas très doué pour le vba je viens donc vous demander de l'aide

Code:
Sub selection()
Dim sel As Range, achercher As String
achercher = InputBox("Quel Nom recherchez-vous ?")
If achercher = "" Then Exit Sub
Set c = ActiveSheet.Range("C" & Range("B1") & ":C" & Range("B2")).Find(achercher, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
 firstAddress = c.Address
 Do
  If Not sel Is Nothing Then
    Set sel = Application.Union(sel, Rows(c.Row))
   Else
    Set sel = Rows(c.Row)
   End If
  Set c = Range("C" & Range("B1") & ":C" & Range("B2")).FindNext(c)
 Loop While Not c Is Nothing And c.Address <> firstAddress
End If
sel.Select
End Sub

Merci d'avance pour vos réponses
Ci-joint fichier pour exemple
 

Pièces jointes

Re : Problème avec macro de sélection

Bonsoir libellule85,

Apparemment, ton code est correct. Les erreurs semblent être dûes à certaines cellules qui comportent des espaces en fin de ligne (ex : MOMBEL).

Il te reste donc à vérifier tes lignes de noms.

Espérant avoir résolu ton problème.

Cordialement.
 
Re : Problème avec macro de sélection

Bonsoir Pierrot93,
Impeccable celà fonctionne...
Par contre je viens de m'apercevoir que quand on met un nom qui n'est pas dans la liste la macro se met en erreur.
Il n'y aurait pas un moyen pour dire que se nom ne figure pas dans la liste et de revenir sur l'inputbox.
D'avance merci pour ta réponse
 
Re : Problème avec macro de sélection

Bonsoir à tous,

Voici une solution parmi d'autres pour ne pas que la macro se plante si le nom n'est pas dans la liste :
VB:
Sub selection()
    Dim sel As Range, achercher As String
    achercher = InputBox("Quel Nom recherchez-vous ?")
    If achercher = "" Then Exit Sub
    Set c = ActiveSheet.Range("C" & Range("B1") & ":C" & Range("B2")).Find(achercher, LookIn:=xlValues, lookat:=xlPart)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            If Not sel Is Nothing Then
                Set sel = Application.Union(sel, Rows(c.Row))
            Else
              Set sel = Rows(c.Row)
            End If
            Set c = Range("C" & Range("B1") & ":C" & Range("B2")).FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
    If Not sel Is Nothing Then sel.Select
End Sub

A+
 
- 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…