Création d'Outil - Comment Vérifier les Informations de Plusieurs Ligne ?
Bonjour à tous,
Je vais essayer d'être la plus claire possible, mais c'est la première fois que je poste ce genre de demande sur un forum. Je répondrais au mieux à vos questions, merci d'avance pour votre aide et votre indulgence !
Alors !
Voilà mon tableau de base :
Je souhaite afficher mon résultat dans le groupe de cellule fusionné C3:J3 qui affiche actuellement "Charme" grâce à la formule : <=SI.MULTIPLE(RECHERCHEV(I5;IndiceXCapacités;2;0);'Les Variables'!D7;"Charme";'Les Variables'!D8;"Intimidation";'Les Variables'!D9;"Force";'Les Variables'!D10;"Agilité";"-")>.
Mon but ici est d'afficher la ou les capacités blocantes attribuées aux indices de la liste "Nom de l'indice Obtenu".
Pour cela j'utilise deux bases de données :
1 - La liste de mes indices ainsi que toutes leurs informations :
2 - Une feuille regroupant plusieurs tableau de données et me permettant d'en créer de nouvelles ci-nécessaire :
À l'heure actuelle, je suis capable de vérifier et afficher la valeur de la première ligne de mon tableau de base, c'est à dire la capacité appliqué à l'indice "Nom d'indice 01".
Mon problème étant que si aucune capacité n'est attibuer à l'indice de cette première cellule, ma formule va m'afficher "-" même si d'autres indice de la colone possède une capacité blocante. (Normal puisque je ne vérifie que la cellule I5)
Ma question est donc la suivante, comment appliquer ma vérification à toutes les cellules de cette colonne "Nom de l'indice Obtenu" et pas seulement à la première cellule de celle-ci ?
Je vous met le fichier en pièce jointe de ce message (C'est un fichier xlsm car sur le fichier complet j'utilise du code pour renommer automatiquement mes feuilles en fonction du contenu de "B2", j'espère que cela ne posera pas de problème).
Je vous remerci par avance pour le temps que vous accorderez à mon problème !
Bonjour,
Pas très clair, si j'ai bien compris, il faut remplir la cellule fusionnée de "C3:J3" de la feuille "Sans Suspect" avec les indices trouvés en colonne "I" de la même feuille.
Avec la macro évènementielle suivante à chaque modification d'une des cellules de cette colonne, la cellule fusionnée s'actualise avec les indices trouvés (sans doublons)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
Dim Liste As String
Dim DerLig As Long
Dim Tableau As Object
Dim d As Object
On Error GoTo Sortie
Application.EnableEvents = False
Set Tableau = Range("DialogueInspecteur01Question01")
DerLig = Tableau.ListObject.ListRows.Count
Range("C3:J3").ClearContents
If Not Intersect(Target, Range("I5:I" & DerLig + 4)) Is Nothing Then
Set d = CreateObject("Scripting.dictionary")
For Each C In Range("I5:I" & DerLig + 4)
If Not d.exists(C.Value) And C.Value <> "" Then
d(C.Value) = ""
Liste = Liste & ", " & C.Value
End If
Next C
Ecriture:
If d.Count > 0 Then Cells(3, "C") = Right(Liste, Len(Liste) - 2)
End If
Sortie:
Application.EnableEvents = True
Set d = Nothing
Set Tableau = Nothing
End Suble fichier
Cdlt
Bonjour,
D'abord, merci pour ta réponse @Arturo83
Ensuite, pour le début "il faut remplir la cellule fusionnée de "C3:J3" de la feuille "Sans Suspect"" oui c'est bien ça. Mais je veux remplir cette cellule avec les noms des capacités correspondantes (cf. feuille "les variables") aux indices placés dans la colonne "I" de la feuille "sans suspect".
Par exemple, si je selectionne l'indice "nom indice 03" dans une des lignes de le colone "I" de la feuille "sans suspect" -> "Nom d'indice 03" correspondant dans le tableau ci-dessous à "intimidation" -> alors la cellule fusionnée de "C3:J3" de la feuille "Sans Suspect" affiche "Intimidation".
Autres exemple, si dans la colone "I" de la feuille "Sans Suspect" je sélectionne les 3 premier indices comme ci-dessous, alors la cellule fusionnée de "C3:J3" de la feuille "Sans Suspect" devra afficher "Charme", "Intimidation" et "force".
J'espère que c'est plus claire avec des exemples
Par rapport à la macro évènementielle que tu m'as donné cela me pause plus problème :
- Je n'ai qu'une marco dans mon classeur et quand j'ai essayé d'en mettre une deuxième tout à explosé
- Le tableau de la feuille "sans suspect" sera copier collé selon le nombre de questions prévue par le narrative designer. Puis cette même feuille sera dupliqué selon le nombre de suspects dans l'enquête. Il faudrait donc quelque chose qui soit le plus automatique possible, sans que j'ai à mettre les mains dans le fichier pour créer un nouveau tableau
Ce n'est pas possible d'y faire sous forme de formule ?
Ensuite, pour le début "il faut remplir la cellule fusionnée de "C3:J3" de la feuille "Sans Suspect"" oui c'est bien ça. Mais je veux remplir cette cellule avec les noms des capacités correspondantes (cf. feuille "les variables") aux indices placés dans la colonne "I" de la feuille "sans suspect".
Par exemple, si je selectionne l'indice "nom indice 03" dans une des lignes de le colone "I" de la feuille "sans suspect" -> "Nom d'indice 03" correspondant dans le tableau ci-dessous à "intimidation" -> alors la cellule fusionnée de "C3:J3" de la feuille "Sans Suspect" affiche "Intimidation".
C'est bien ce que fait ma proposition, non!
Le principe de fonctionnement est:
Actuellement, à chaque fois qu'une des cellules de la colonne I est modifiée, les cellules fusionnées C3:J3" sont actualisées avec les nouvelles valeurs trouvées.
Est-ce bien ce que vous souhaitez? ou bien, uniquement les cellules de la colonne I que vous sélectionnerez?
Une macro évènementielle ne se met pas dans un module standard, mais dans le module de la feuille de travail, comme l'image ci-dessous:
******************************************************************************************************
Le nombre de macros dans un classeur n'est pas limité.
***************************************************************************************************
- Le tableau de la feuille "sans suspect" sera copier collé selon le nombre de questions prévue par le narrative designer. Puis cette même feuille sera dupliqué selon le nombre de suspects dans l'enquête. Il faudrait donc quelque chose qui soit le plus automatique possible, sans que j'ai à mettre les mains dans le fichier pour créer un nouveau tableau (Désolé, c'est une information hyper importante que j'ai oublié de mentionné )
Alors il faut revoir la façon de procéder, parce que vous avez créé un tableau structuré "DialogueInspecteur01Question01" il faudra donc attribuer d'autres noms aux futurs tableaux, ce qui ne sera pas compatible avec la macro proposée puisque je fais référence au tableau "DialogueInspecteur01Question01".
Et pour que cela marche sur toutes les feuilles la macro devra être copiée dans le module "ThisWorbook". Pour le moment je n'ai pas le temps de vous le faire, je dois m'absenter, je regarderai à mon retour. En attendant il serait intéressant que vous postiez un autre fichier avec 2 ou 3 autres tableaux afin que je puis me faire une idée sur la façon d'aborder tout cela.
Cdlt
D'accord, je comprend mieux merci
Effectivement, c'est bien ce qu'il me semblait concernant la référence au tableau
Voilà le fichier avec les 2 ou 3 autres tableaux comme demandé !
Il n'y a pas de soucis, je comprend que vous n'ayez pas le temps dans l'immédiat. J'attendrais votre retour
Bonsoir,
Voilà le fichier, donc, dans n'importe quel tableau, lorsque vous sélectionnerez un nom d'indice, le résultat s'affichera dans les cellules fusionnées de chaque tableau. Cela doit fonctionner aussi si vous ajoutez d'autres feuilles. Seules les feuilles "Les indices" et Les variables" ne sont pas concernées?
Très important, le premier tableau doit commencer à la colonne B, sinon cela faussera les calcul.
Cdlt
Bonsoir !
Wouha ! C'est super cool ! C'est exactement ce dont j'ai besoin pour la vérification par ligne, merci beaucoup !
En revanche, ce ne sont pas les noms des indices que je veux afficher, mais la capacité de la colonne de droite
Expliqué d'une autre façon :
1 - (Comme tu l'as déjà fait) Je regarde quels sont les indices dans la colonne "Nom de l'Indice Obtenu",
2 - Je vais regarder dans les variables (IndicesXCapacités) quelle capacité est en face des indices que j'ai relevé à l'étape d'avant (ici "Nom indice 01", "Nom indice 02", "Nom indice 03") : Je vois que "Nom indice 01"="Charme ; "Nom indice 02"="Force" et "Nom indice 03"="Intimidation".
3 - J'affiche dans la cellule fusionné les capacités correspondant aux indices, c'est à dire "Charme, Force, Intimidation"
J'ai aussi plusieurs questions au sujet de ta macro :
- Si je rajoute des indices à ma liste ou que j'en retire, est-ce que c'est gênant ?
- Si je rajoute des lignes au tableau est-ce qu'elle fonctionnerait encore ?
- Et tout simplement, est-ce que tu peux m'expliquer comment est-ce qu'elle fonctionne ? Je suis curieuse mais je ne comprends pas tout
En tout cas, merci beaucoup pour le temps que tu consacre à mon problème, ça m'aide énormément !
Bonne soirée / journée !
Bonjour,
Voici la nouvelle mouture avec commentaires pour chaque ligne:
A toutes les autres questions que vous posez, il suffit de faire des essais, normalement il n'y a aucun souci.
Il faut impérativement respecter les règles suivantes:
Tous les tableaux doivent avoir le même nombre de colonnes, et le premier tableau doit commencer à la colonne B.
Cdlt
Bonjour,
Fantastique ! C'est parfait !
Je vais étudier tous ça de prêt.
Encore merci pour ton aide et ton temps.
Très bonne journée à toi !