XL 2010 Résolu par Roland et SI : code recherche + format n° tel

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir à toutes et à tous,

pour mon boulot, j'ai besoin de faire des recherches dans tout mon classeur.
J'ai d'abord tenté de faire un code, LOL catastrophe je n'y suis pas arrivé.
J'ai donc cherché sur le net et j'ai trouvé 2 codes géniaux qui fonctionnent super dans leur classeur d'origine.
Je remercie au passage les 2 auteurs.
Tout content, j'ai tenté de transférer les macros dans mon classeur et ..... ça coince !!! :(

Malgré mes tentatives, je n'ai pas trouvé ce qui ne va pas.
J'ai encore besoin de votre aide.
Je ne peux pas joindre mon classeur avec toutes ses données et il est très "lourd".
J'ai tenté de faire un classeur pour reproduire les blocages mais je n'ai pas réussi.
je joins les photos qui montrent où ça coince et les 2 classeurs qui fonctionnement parfaitement.
Avec mes remerciements,
Bonne fin de soirée à toutes et à tous,
Amicalement,
Lionel,
 

Pièces jointes

  • Rectangle1.jpg
    Rectangle1.jpg
    101.8 KB · Affichages: 129
  • RechercheMot.jpg
    RechercheMot.jpg
    133.5 KB · Affichages: 86
  • RECHERCHE SUR UN CLASSEUR COMPLET.xls
    49 KB · Affichages: 80
  • RechercheMotDansFeuilles.xls
    38 KB · Affichages: 77

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir Roland,
J'ai essayé mais je n'ai pas du le faire comme il faut car ça ne marche pas.

Code:
Private Sub CommandButton1_Click()
  Dim Sh As Worksheet, Quoi, C As Range, T As String 'obligatoire avec Option Explicit
  Quoi = InputBox("Donnée à rechercher", "Recherche de ...")
  T = "Pas"
  If Quoi = Format(Quoi, "0#"" ""##"" ""##"" ""##"" ""##") Then Exit Sub
  For Each Sh In Worksheets
    Set C = Sh.Cells.Find(Quoi, LookAt:=1, MatchCase:=1)  'voir aide pour la casse
    If Not C Is Nothing Then
      Sh.Activate: C.Select
      If MsgBox("trouvé en " & Sh.Name & "." & vbLf & _
         "Recherche du suivant ?", 4, "Recherche de " & Quoi) = 7 Then
         MsgBox "Recherche arrêtée !", , "Oups": Exit Sub
      End If
      T = "Plus "
    End If
  Next
  If T = "Pas" Then
    MsgBox "Recherche infructueuse !", , "Oups"
  Else
    MsgBox "Recherche terminéee !", , "Eh oui..."
  End If
End Sub

Amicalement,
Lionel,
 

JCGL

XLDnaute Barbatruc
Bonjour à tous,

Lionel : ce n'est pas la syntaxe proposée par Roland... Revoir son #31

VB:
Private Sub CommandButton1_Click()
  Dim Sh As Worksheet, Quoi, C As Range, T As String 'obligatoire avec Option Explicit
  Quoi = InputBox("Donnée à rechercher", "Recherche de ...")
  T = "Pas"
   If Quoi= "" Then GoTo Suite
  Quoi = Format(Quoi, "0#"" ""##"" ""##"" ""##"" ""##")
Suite: 
  For Each Sh In Worksheets
    Set C = Sh.Cells.Find(Quoi, LookAt:=1, MatchCase:=1)  'voir aide pour la casse
    If Not C Is Nothing Then
      Sh.Activate: C.Select
      If MsgBox("trouvé en " & Sh.Name & "." & vbLf & _
         "Recherche du suivant ?", 4, "Recherche de " & Quoi) = 7 Then
         MsgBox "Recherche arrêtée !", , "Oups": Exit Sub
      End If
      T = "Plus "
    End If
  Next
  If T = "Pas" Then
    MsgBox "Recherche infructueuse !", , "Oups"
  Else
    MsgBox "Recherche terminéee !", , "Eh oui..."
  End If
End Sub
 

Roland_M

XLDnaute Barbatruc
bonsoir à tous,

arthour... m'enfin !? c'est quoi ça pour une affaire !?

c'est pourtant clair et simple, après cette ligne:
If Quoi = "" Then Exit Sub
tu mets ceci:
Quoi = Format(Quoi, "0#"" ""##"" ""##"" ""##"" ""##")

mais qu'est ce qu'il t'a pris d'aller mettre un If mon ami ?
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir Grisan,
Bonsoir JGCL,

Merci de vous êtes pensé sur mon souci :)
Pour Grisan : j'ai tenté mais apparemment ça beug ...
Pour JGCJ : j'avais également tenté ce code mais ça ne fonctionne pas.
je joins mon classeur avec une photo du résultat attendu,
Vraiment merci d'être là.
Amicalement,
Lionel,
 

Pièces jointes

  • Sans titre.jpg
    Sans titre.jpg
    54 KB · Affichages: 41
  • Recherche Classeur + Format + 33.xlsm
    31.9 KB · Affichages: 48

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
bonsoir à tous,

arthour... m'enfin !? c'est quoi ça pour une affaire !?

c'est pourtant clair et simple, après cette ligne:
If Quoi = "" Then Exit Sub
tu mets ceci:
Quoi = Format(Quoi, "0#"" ""##"" ""##"" ""##"" ""##")

mais qu'est ce qu'il t'a pris d'aller mettre un If mon ami ?

Roland, j'ai essayé de mettre exactement ce qu tu as écrit mais ça ne formate pas le numéro.
Super merci à toi :confused: (peut-être ma puberté LOL)
Amicalement,
Lionel,
 

Roland_M

XLDnaute Barbatruc
re

bon là je n'y comprend plus rien !

vu tes numéros dans ta feuille 00 00 00 00 00
je pensais que tu voulais taper simplement 0000000000
et que la recherche s'effectue tel que le format sur les cellules !?
alors j'ai fais cette modif pour que la recherche soit identique au format sur les feuilles !
j'ai d'ailleurs fais des essais et évidemment c'était concluant !

apparemment c'est pas cela que tu souhaites !?
mais là encore mon ami tu t'exprimes mal !

du coup je sais pas trop ce que tu souhaites !?

EDIT:
ça devait donner ceci:
Code:
Private Sub CommandButton1_Click()
  Dim Sh As Worksheet, Quoi, C As Range, T As String 'obligatoire avec Option Explicit
  Quoi = InputBox("Donnée à rechercher", "Recherche de ...")
  T = "Pas"
  If Quoi = "" Then Exit Sub
  Quoi = Format(Quoi, "0#"" ""##"" ""##"" ""##"" ""##")
  For Each Sh In Worksheets
    Set C = Sh.Cells.Find(Quoi, LookAt:=1, MatchCase:=1)  'voir aide pour la casse
   If Not C Is Nothing Then
      Sh.Activate: C.Select
      If MsgBox("trouvé en " & Sh.Name & "." & vbLf & _
         "Recherche du suivant ?", 4, "Recherche de " & Quoi) = 7 Then
         MsgBox "Recherche arrêtée !", , "Oups": Exit Sub
      End If
      T = "Plus "
    End If
  Next
  If T = "Pas" Then
    MsgBox "Recherche infructueuse !", , "Oups"
  Else
    MsgBox "Recherche terminéee !", , "Eh oui..."
  End If
End Sub
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Désolé, tu as raison.
En fait, nous copions les numéros sur notre site de travail (le net)

La copie
les numéros sont toujours affichés comme ça : 01 11 11 11 11
De plus, en fonction de son état ou de sa rapidité de copie, ma commerciale peut copier : 01 11 11 11 11 ou 1 11 11 11 11
ces numéros sont ensuite collés dans le classeur excel pour téléphoner à nos clients et là, pour ne pas perdre de temps à ressaisir ces numéros, ils doivent être collés comme ça : 33111111111

La recherche
Et quand nous avons besoin de rechercher dans le classeur pour voir si nous n'avons déjà traité un numéro de téléphone du net, nous avons besoin de rechercher ça 33111111111 (pas ça 01 11 11 11 11 ou ça 1 11 11 11 11).


Évidemment, j'aurais du prendre le temps d'écrire ces explications.

Ceci prouvant cela et je prie tout le monde de m'en excuser :(

Amicalement,
Lionel,
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
re

d'abord dans le code actuel je ne vois pas trace d'écriture dans des cellules de ces nos recherchés et trouvés !?
il y a simplement des msgbox !
ensuite pour la recherche tu tapes quel format !? 0123456789 ou 01 23 45 67 89 il s'agit d'être cohérent pour la recherche !

je te pris de m'excuser mais je vois pas les tenants et les aboutissants !?
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Je pense à un petit raisonnement : on peut peut-être lui demander de rechercher toujours la même cellule de la feuille ?
Par exemple, pour la feuille téléphone, la cellule E9.

Il suffirait que tous les numéros soient entrés en E9 (automatiquement formatés pas le code de formatage).
Qu'en pensez-vous ?
Amicalement,
Lionel,
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour Roland,
Bonjour DoubleZero,
Bonjour SI,
Bonjour à toutes et à tous,

Je reviens sur mon souci qui est "brûlant" pour moi LOL.

En fait, je m'étais très mal expliqué.
Ma demande se résume en quelques mots :
Il faudrait le code recherche cherche toujours le contenu de E9 de la feuille téléphone.
Je remets le classeur test.
Avec mes remerciements,
Bonne journée,
Lionel,
 

Pièces jointes

  • Recherche Classeur + Format + 33.xlsm
    28.3 KB · Affichages: 66

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 900
Membres
101 834
dernier inscrit
Jeremy06510