Rechercher une valeur dans plusieurs onglets pour acceder directement a cette valeur

  • Initiateur de la discussion Initiateur de la discussion cheriyo
  • 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 !

C

cheriyo

Guest
Bonsoir

J'ai une petite question et je n'ai pas trouvé exactement les info sur ce site donc je me permets de poster cette demande.

J'ai une base de données ayant plusieurs dizaines de feuilles différentes incluant des références réglementaires.
Par un bouton de recherche (sur la première feuille), je voudrais directement accéder à la référence réglementaire voulu via une maccro .

2ème problème, je voudrais savoir si c'est possible de créer une liste des modifications (voir fichier joins)

3eme , je voudrais savoir si c possible de créer une table de correspondance entre une référence réglementaire et une ancienne loi

je vous transmets le fichier

merci d'avance
 

Pièces jointes

Re : Rechercher une valeur dans plusieurs onglets pour acceder directement a cette va

Salut cheriyo et le forum
N'ayant que la version 2003 d'excel, voilà juste les macros
Code:
Private Sub Cde_Corresp_Click()
Dim F As Worksheet, X As Long
For Each F In Sheets
    If F.Name <> "Feuil1" And F.Name <> "modif" Then
        For X = 1 To F.Cells(Rows.Count, "B").End(xlUp).Row
            If F.Cells(X, "A") = Range("A10") Then
                If F.Cells(X, "B") = "modif" Then
                    Range("C10") = F.Cells(X, "C")
                Else
                    Range("C10") = "Pas de modif"
                End If
                Exit Sub
            End If
        Next X
    End If
Next F
End Sub
Private Sub Cde_Modif_Click()
Dim F As Worksheet, F_M As Worksheet, X As Long
Set F_M = Sheets("modif")
F_M.Rows("1:" & F_M.Cells(Rows.Count, "A").End(xlUp).Row).Delete
For Each F In Sheets
    If F.Name <> "Feuil1" And F.Name <> "modif" Then
        For X = 1 To F.Cells(Rows.Count, "B").End(xlUp).Row
            If F.Cells(X, "B") = "modif" Then F.Rows(X).Copy F_M.Cells(Rows.Count, "A").End(xlUp)(2)
        Next X
    End If
Next F
F_M.Rows(1).Delete
F_M.Activate
End Sub

Private Sub Cde_Recherche_Click()
Dim F As Worksheet, X As Long
For Each F In Sheets
    If F.Name <> "Feuil1" And F.Name <> "modif" Then
        For X = 1 To F.Cells(Rows.Count, "B").End(xlUp).Row
            If F.Cells(X, "A") = Range("A3") Then
                F.Activate
                F.Cells(X, "A").Activate
                Exit Sub
            End If
        Next X
    End If
Next F
End Sub
Petites remarques :
- Il serait préférable d'utiliser des contrôles de la barre d'outils "Boîte à outils", plutôt que ceux de la barre d'outils "Formulaire" : les premiers sont adaptés au codage VBA, les seconds fournissent directement des valeurs dans une cellule liée.

- Il serait sans doute plus judicieux d'utiliser un UserForm.
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour