ma macro plante quand j'annule !!!

  • Initiateur de la discussion CaptainTsubasa
  • Date de début
C

CaptainTsubasa

Guest
Voila je ne m'y connait pas trop en Visual Basic et là j'ai besoin de votre aide

j'ai une Base de Données sous Excel toute bête du type :

Nom I Prénom I Service I

et j'ai inséré un bouton recherche lié à une macro décrite ci-dessous :






Sub demo()
' ------------------------------------------------
' Rechercher une chaîne dans une feuille de calcul
' ------------------------------------------------
Static utilise As Boolean
Static lig, col As Integer

On Error GoTo erreur

If utilise Then ' Rechercher l'occurrence suivante
Cells.FindNext(After:=ActiveCell).Activate
lig2 = ActiveCell.Row
col2 = ActiveCell.Column

If (lig = lig2) And (col = col2) Then
MsgBox "Tous les éléments ont été trouvés"
utilise = False
Exit Sub
End If

Else
' Pour la première occurrence
nom = InputBox("Nom à rechercher")
utilise = True
Cells.Find(What:=nom).Activate
lig = ActiveCell.Row
col = ActiveCell.Column
End If

erreur:
If Err.Number = 91 Then
MsgBox "Nom introuvable"
utilise = False
End If
End Sub







Et là j'ai plusieurs problème, dont le plus important, quand je clique sur le bouton la macro démarre sans problème, mais si je clique sur annuler ou sur la croix pour fermer la boite de dialogue, ma macro à l'air de se désactiver.

Est-ce que quelqu'un sait ce que je dois faire ???

Une autre petite question à la fin de la macro il me met un message pour me dire que "tous les élèments ont été trouvés, est il possible de l'enlever?

Merci d'avance

PS : j avais dit que je n'y connaissais rien, desolé
 
C

CaptainTsubasa

Guest
Ou alors si quelqu un a un code qui marche bien en VBA...

Ce que je veux faire est tout simple, a savoir emuler la fonction edition/rechercher classique en mettant un bouton directement sur mon tableau

Aidez moi SVP

Merci
 
C

CaptainTsubasa

Guest
Ca y est j'ai trouvé !!!!!!!!

certainement grace à vos réponses lol

Merci à ceux qui ont cherché meme s ils n ont pas répondu.

Je donne la solution ca va peut etre en interesser certains :





Sub demo()
' ------------------------------------------------
' Rechercher une chaîne dans une feuille de calcul
' ------------------------------------------------
Static utilise As Boolean
Static lig, col As Integer

On Error GoTo erreur


' Pour la première occurrence
nom = InputBox("Entrez le nom")
utilise = True
Cells.Find(What:=nom).Activate
lig = ActiveCell.Row
col = ActiveCell.Column

erreur:
If Err.Number = 91 Then
MsgBox "Valeur non trouvée"
utilise = False
End If
End Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal