Recherche multi-feuilles

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

K

Kevinou

Guest
Bonjour,

Je développe un planning qui intégre plusieurs critères (effectif, date, site, équipe)
Je voudrais de ce fait avoir une feuille par site et un feuille globale qui me permet de vérifier si tout mon effectif est bien positionné sur un site.
En pièce jointe le classeur xls

Ma difficulté se situe surtout sur la feuille "GLOBAL" je n'arrive pas à trouver la bonne macro pour faire une recherche sur toute les feuilles afin de vérifier que la personne 1 est bien affectée sur un site particulier.

J'espère être suffisament clair.
😱
Merci d'avance pour votre aide.

Kevin.
 

Pièces jointes

Re : Recherche multi-feuilles

Bonjour Kevinou et bienvenu sur le frum

Comme le sujet ne semble pas pationner les foules, je te fais une proposition.
Cela prend en compte toutes les feuilles, sauf la feuille qui porte le bouton (donc si il ya des feuilles autre que SITE, cela n'ira pas).

Le code est commenté dans le classeur (Clic droit sur l'onglet GLOBAL / visualiser le code)

VB:
Private Sub CommandButton1_Click()
Dim i&, J&
Dim D As Object, F As Worksheet
Dim T As Variant, TF As Variant, TTmp As Variant
Set D = CreateObject("Scripting.dictionary")
ReDim T(1 To 33)
For Each F In Worksheets
    If F.Name <> Me.Name Then
        TF = F.Range(F.Cells(4, 1), F.Cells(F.Rows.Count, 1).End(3)(1, 33))
        For i = LBound(TF, 1) To UBound(TF, 1)
            If Not D.Exists(TF(i, 1)) Then
                T(1) = TF(i, 1)
                T(2) = TF(i, 2)
                D(TF(i, 1)) = T
            End If
            TTmp = D(TF(i, 1))
            For J = LBound(TF, 2) + 2 To UBound(TF, 2)
                If TTmp(J) = "" Then TTmp(J) = TF(i, J)
            Next J
            D(TF(i, 1)) = TTmp
        Next i
    End If
Next F
Me.Cells(4, 1).Resize(D.Count, UBound(TF, 2)) = Application.Index(D.Items, , 0)
End Sub
Cordialement
 

Pièces jointes

Re : Recherche multi-feuilles

J'ai oublié de te demander sais tu également comment on peut faire apparaitre une erreur d'affectation, si par exemple j'ai positionné la même personne sur 2 sites différents le même jour?
Avoir par exemple la case dans global qui met un ! ou autre.

Merci encore pour ton aide Efgé!
 
- 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

D
Réponses
2
Affichages
998
G
Réponses
3
Affichages
2 K
G
F
Réponses
0
Affichages
1 K
fred09071976
F
V
Réponses
7
Affichages
1 K
vinalex
V
S
Réponses
3
Affichages
735
scamanto024
S
M
Réponses
5
Affichages
2 K
melevallafra
M
T
Réponses
3
Affichages
8 K
Compte Supprimé 979
C
Retour