XL 2019 recherche une valeur sur plusieurs feuilles protégées et affiche la cellule qui contient la valeur

pat66

XLDnaute Impliqué
Bonjour le forum,

est t'il possible grâce par exemple à un userform, un combobox, un inputbox ou autre, de rechercher une valeur dans plusieurs feuilles et de faire en sorte que la feuille où se trouve la valeur s'affiche et que la cellule contenant la valeur soit sélectionnée

exemple, je recherche le 210302, ce chiffre se trouve sur la feuille "mars" à la cellule C9, alors la feuille "mars" s'affiche et la cellule B3 est sélectionnée

un grand merci pour votre aide

Pat66
 

Pièces jointes

  • Classeur7.xlsm
    37.3 KB · Affichages: 13
Dernière édition:

pat66

XLDnaute Impliqué
re,

merci et bravo c'est exactement ce qu'il me fallait , c'est très sympa à vous
Dans l'exemple je n'ai mis que les feuilles avec les mois, et la macro recherche sur toutes les feuilles , mais mon classeur en comportent d'autres, peut on limiter la recherche qu'à ces feuilles uniquement (janvier, fev, mars, ,etc.....?

merci d'avance

Pat66
 

youky(BJ)

XLDnaute Barbatruc
Oui,
ici on commence à lire l'onglet 2 jusqu'à la fin (nombre d'onglets)
For k = 2 To Sheets.Count
on peux mettre
For k = 2 To 5'pour lire de l'onglet 2 à 5
ou
For k = 5 To 8 'pour lire de la 5 à 8
A toi de voir mais faudra pas déplacer les onglets sinon d'autres manières existe
Dans ce cas il faut connaitre les noms d'onglets
Bruno
 

pat66

XLDnaute Impliqué
re,

youky

j'ai réussi les feuilles concernées vont de 7 à 17, merci encore, j'ai une dernière requête :
peut aussi coloriser la cellule qui contient le résultat en jaune ?

j'ai testé ca à l'air de fonctionner ?
Sheets(k).Select
c.Activate
c.Interior.ColorIndex = 43

une dernière question j'aimerai enlever la couleur de la cellule colorée dès que je sélectionne une autre cellule, est ce possible ?

merci




 
Dernière édition:

pat66

XLDnaute Impliqué
bonjour Lolote83,

Je viens de voir votre solution et c'est incroyable ce que l'on peut faire avec 3 lignes
Pour l'instant, je vais configurer mon classeur avec la soluce de Youky, mais je garde précieusement votre solution au cas où .

un grand merci
 

youky(BJ)

XLDnaute Barbatruc
Bonsoir,
Pour enlever la couleur
En fenêtre des projets cliquer sur thisworkbook et copier ceci
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Index > 6 And Sh.Index < 18 Then
Range("C5:C1000").Interior.Color = xlNone
End If
End Sub

Bruno
 

soan

XLDnaute Barbatruc
Inactif
Bonjour pat66, youky, le fil,

je te laisse essayer ceci (que j'ai fait à partir du code VBA de youky) :

VB:
Option Explicit

Sub trouve()
  Dim c As Range, nom$, rep%, k%, b As Byte
  'mot = Selection.Value
  nom = InputBox("Rechercher  ..? ", "Rechercher  ")
  If nom = "" Then Exit Sub 'y'a rien à rechercher !
  For k = 2 To Worksheets.Count
    With Worksheets(k).[A1:Z1000]
      Set c = .Find(nom, LookIn:=xlValues)
      If Not c Is Nothing Then
        'firstAddress = c.Address
        b = 1 '=> on a trouvé au moins une occurrence du nom
        Do
          Worksheets(k).Select: c.Activate
          rep = MsgBox("Continuer la recherche ?", 4 + 32, "Sélection")
          If rep = vbNo Then Exit Sub
          Set c = .FindNext(c)
        Loop While Not c Is Nothing 'And c.Address <> firstAddress
      End If
    End With
  Next k
  If b = 0 Then MsgBox "La valeur recherchée n'existe pas." _
    Else MsgBox "Recherche terminée !"
End Sub

éventuellement, adapte les 3 commentaires initiaux.

soan
 

Bugs1105

XLDnaute Nouveau
Bonjour Soan,
je m'invite dans cette discussion, car je suis confronté à ce problème auquel votre solution m'a permis de le résoudre en partie. En effet lors d'une recherche si l'on veut continuer, la recherche ne s'effectue plus que sur la feuille trouvée, elle ne continue plus sur les autres feuilles. Pourriez vous m'aider.
En vous remerciant
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof