Résolu Comment cocher une case simultanément sur différentes feuilles via une macro

benetfly

XLDnaute Nouveau
Bonjour à tout le monde,
Je suis confronté à une difficulté car je ne maîtrise pas du tout les macros et le VBA.
Je m'explique:
J'ai un classeur qui comporte quatre feuilles:
- La première est une représentation d'un stock de pièces sans incidence pour la suite;
- La deuxième est la même représentation que la feuille 1 sauf qu'elle comporte des cases à cocher;
- La troisième est une liste de pièces qui comporte aussi des cases à cocher;
- La quatrième est un tableau récapitulatif des éléments cochés sur les feuilles précédentes;

Mon problème est que je ne parviens pas à faire le lien entre ma feuille 2 et ma feuille 3 car le but est de cocher un élément de la feuille 2 qui cochera le même élément sur la feuille 3 et enfin sera répertorié sur le tableau de la feuille 4. Je joins le fichier afin que vous puissiez mieux comprendre ma problématique et éventuellement, m'apporter votre aide.

Merci par avance à vous.
 

Fichiers joints

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @benetfly :),

Une piste dans le fichier joint.
Voir la procédure List_Viss_Kanban() dans module.
Cette procédure est appelée à l'activation des deux dernières feuilles.

VB:
Public Sub List_Viss_Kanban()
Const Non = "o", Oui = "ý"
Dim t, v, i&, j&, ref, k&

t = Feuil4.Range("c5:as18").Value   'lecture tableau de la grille
v = Feuil1.Range("a3:b230").Value   'lecture colonne A at B de la liste visserie Kanban
For i = 1 To UBound(v): v(i, 1) = Non: Next     'raz de v
'parcours de t. Si l'élément de t est coché, on le recherche dans v et on le coche aussi
For i = 2 To UBound(t) Step 2
  For j = 1 To UBound(t, 2)
    If t(i - 1, j) <> "" And t(i, j) = Oui Then
      ref = Right(t(i - 1, j), 12)
      For k = 1 To UBound(v)
        If v(k, 2) = ref Then v(k, 1) = Oui: Exit For
      Next k
    End If
  Next j
Next i
Feuil1.Range("a3:b230").Value = v   'on réécrit V sur sa feuille
End Sub
nota : écrire en majuscule équivaut à CRIER. Veuillez repasser votre titre de la discussion en minuscule. Merci ;)

edit salut @Jacky67
 

Fichiers joints

Dernière édition:

BrunoM45

XLDnaute Barbatruc
Bonjour à tous,
UN TITRE TOUT en MAJUSCULES ne VOUS POSE PAS de PROBLEME !?
L'EDUCATION SE PERD.... C'EST VRAIMENT NAVRANT
 
Bonjour Benetfly, bonjour à tous,
Attention, comme précisé dans les messages ci-dessus, ce n'est pas bien vu (et interdit dans la charte) de mettre un titre de fil de discussion en lettres capitales.
Mais quand je vois le ton très courtois de ta question,je me dis que tu n'as pas dû faire exprès et que tu ne le savais certainement pas.
J'ai corrigé ton titre pour le passer en minuscules.
Bonne journée
David
PS : En plus tu as énervé Bruno en pleine nuit!!! ;)
 

benetfly

XLDnaute Nouveau
Bonjour à tout le monde,
Je tiens à m'excuser pour cette erreur de débutant, et surtout ne souhaite énerver personne car ce n'est pas le but de mon intervention sur le site.
Donc, je demande à toutes les personnes que j'ai pu heurter de bien vouloir accepter mes excuses.
Je tâcherai d'être plus attentif la prochaine fois.
Ceci étant dit, je reviens sur mon problème, et suite aux solutions proposées par "mapomme" et "jacky67" que je remercie profondément car vous avez tout à fait cerné ma lacune. Je vais décortiquer vos codes afin de bien comprendre où était mon erreur.
Petite question:
Y-a-t-il moyen de pouvoir décocher toutes les cases de toutes les feuilles afin de repartir sur une nouvelle sélection ?
Merci, encore à "mapomme" et à "jacky67" et encore désolé pour ma maladresse.
Amicalement,
benetfly
 

Jacky67

XLDnaute Accro
Y-a-t-il moyen de pouvoir décocher toutes les cases de toutes les feuilles afin de repartir sur une nouvelle sélection ?
Re...
Par le bouton "RESET" déjà présent
VB:
Sub mettreABlanc()
    Me.[A3:A500].SpecialCells(xlCellTypeConstants) = "o"
    For Each c In Sheets("GRILLE VISSERIE KANBAN").[c5:as18]
        If c.Font.Name = "Wingdings" And c.Value = "ý" Then c.Value = "o"
     Next
End Sub
 

benetfly

XLDnaute Nouveau
Bonjour Jacky67,
Je crois que tu viens de finaliser la résolution de mon problème, je ne peux que te remercier pour ton aide qui m'enlève une belle épine du pied.
Encore merci pour tout.
Salutations sincères,
Benetfly
P.S.:
Comment doit-on procéder pour signaler qu'une notification est résolue ?
 

Jacky67

XLDnaute Accro
Comment doit-on procéder pour signaler qu'une notification est résolue ?
Re..
Copie du message de David

De nombreux visiteurs du site souhaitent pouvoir indiquer que les fils qu'ils ont initiés ont trouvé une réponse qui leur convient.
Cela leur permet de faire savoir qu'ils ne reviendront pas forcément lire les futurs messages et que les répondeurs n'auront donc pas à s'en offusquer.
Jusqu'à présent, les visiteurs qui souhaitaient absolument le faire éditaient le titre du fil et rajoutaient dans le titre le mot "Résolu" en début ou fin de titre.
Ce n'était franchement pas top...

Maintenant ils peuvent choisir un préfixe "Résolu".

L'idée n'est absolument pas de demander aux demandeurs de mettre systématiquement à jour le titre du fil lorsque le problème semble résolu.
Cela restera donc de l'ordre du libre arbitre du demandeur et ne doit pas devenir une contrainte.

Si un répondeur souhaite tout de même apporter sa pierre à l'édifice après que le demandeur ait rajouté ce préfixe, pas de soucis non plus.
Cela pourra être utile à de futurs visiteurs du fil.

Marquer un fil "Résolu" n'est donc pas obligatoire pour les demandeurs, tout comme continuer à enrichir un fil marqué comme "Résolu" reste tout à fait envisageable.

Bonne journée

David
 

Discussions similaires


Haut Bas