Macro sous excel
wissouma 31
Messages postés
1
Statut
Membre
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaite créer une macro qui me permette d'afficher UNIQUEMENT les lignes contenant un teste (ce texte est tiré d'element ce trouvant dans une autre feuille et cela grace à une formule), ce n'est pas un texte type mais une liste de dysfonctionnement tous differents les uns des autres.
Si quelqu'un peut m'aider !?
Merci
Je souhaite créer une macro qui me permette d'afficher UNIQUEMENT les lignes contenant un teste (ce texte est tiré d'element ce trouvant dans une autre feuille et cela grace à une formule), ce n'est pas un texte type mais une liste de dysfonctionnement tous differents les uns des autres.
Si quelqu'un peut m'aider !?
Merci
4 réponses
-
Salut
Met un lien vers le fichier, et detailles plus exactement ce que tu veux...si je peux, je te fais ca demain. Au pire, dimanche.
Cdt-
-
bonjour
pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse -
Merci Michel pour l'infos
Alors voila mon doc:
http://cjoint.com/?BHesehIIvU2
A chaque fois qu'il y a un dysfonctionnement cela se met dans synthèse.
Mon souci c'est que je dois appuyé sur le bouton créer le tableau (c'est une macro toute simple que j'ai attribué) pour que le dysfonctionnement apparaisse.
Or ce que je souhaite c'est que les dysfonctionnements apparaissent sans appuyé sur ce bouton.
Ou alors si ce n'est pas possible je souhaiterai que quand j'appuie sur ce bouton il n'y ai que les dysfonctionnements qui apparaissent sans les lignes vides.
Si quelqu'un peux m'aider !? Merci -
-
-
OK,
Ce que je verrai bien est de déclencher la macro à chaque activation de la feuille synthèse, ce qui permettrait de prendre en compte d'éventuelles modifs
on parcours les 12 objectifs en mémorisant les "non" et on retranscrit l'ensemble des "non" dans ton tableau synthèse
Tu dis, si tu es d'accord j'attaquerais à la fraiche demain -
bonjour
afin que les colonnes code réglement, oui/non soient toujours les m^mes pour modéliser la macro une colonne en B a été insérée pour les objectifs 1 à 11
la macro est déclenchée par ton bouton existant
https://www.cjoint.com/?3HfkISmRwkM
la macro:Option Base 1 Sub lister_dysfonctionnements() Dim Cptr As Byte, Obj As String, Nbre_non As Byte Dim Lig As Byte, Cptr_non As Byte, T_non() Dim Lig_dep As Byte, Lig_non As Byte, Col As Byte Dim Lien_hyper As Hyperlink 'préparation de de la feuille synthèse Application.ScreenUpdating = False With Sheets("Synthèse") .Range("B8:C500").Clear .Range("C8:C500").WrapText = True Lig_dep = Sheets("Synthèse").Range("B500").End(xlUp).Row + 1 Lig_non = Lig_dep End With For Cptr = 1 To 12 Obj = "Objectif " & Cptr With Sheets(Obj) 'nombre de "non" dans la feuille Nbre_non = Application.CountIf(.Columns("G"), "non") If Nbre_non > 0 Then Lig = 4 'mémorisation des non-conformités ReDim T_non(Nbre_non, 3) For Cptr_non = 1 To Nbre_non 'ligne d'une non-conformité Lig = .Columns("G").Find("non", .Cells(Lig, "G"), xlValues, xlWhole).Row T_non(Cptr_non, 1) = .Cells(Lig, "D") T_non(Cptr_non, 2) = .Cells(Lig, "E") T_non(Cptr_non, 3) = "'" & Obj & "'!D" & Lig Next With Sheets("Synthèse") 'restitution du code et de la réglementation .Cells(Lig_non, "B").Resize(Nbre_non, 2) = T_non 'création des liens hypetextes For Cptr_non = 1 To Nbre_non Set Lien_hyper = ActiveSheet.Hyperlinks.Add(.Cells(Lig_non, "B"), "") With Lien_hyper .SubAddress = T_non(Cptr_non, 3) .Follow NewWindow:=True End With Lig_non = Lig_non + 1 Next End With End If End With Next 'pésentation finale Sheets("synthèse").Activate Sheets("Synthèse").Range(Cells(Lig_dep, "B"), Cells(Lig_non, "C")).Borders.Weight = xlThin MsgBox ("synthèse des non-conformités effectuée") End Sub-
-
-
Bonjour,
Sans doute parce que, comme je te l'ai dit, j'ai du inséré une colonne avant les codes pour les objectifs 1 à 11
En effet en 12 était décalé (en info, essaies toujours de modéliser tes interfaces). il faut donc que tu fasses la m^me chose sur ton original
as tu regardé le classeur que j'avais joint?
j'y jette un oeil... -
Je viens d'essayer: pas de problème chez moi
par contre, pour l'esthétique ajoute cette ligne en grasSheets("Synthèse") .Range("B8:C500").Clear .Range("C8:C500").WrapText = True .Range("C8:C500").HorizontalAlignment = xlCenter Lig_dep = Sheets("Synthèse").Range("B500").End(xlUp).Row + 1 Lig_non = Lig_dep End With
et égalementSheets("Synthèse").Range(Cells(Lig_dep, "B"), Cells(Lig_non, "C")).Borders.Weight = xlThin Application.ScreenUpdating = True MsgBox ("synthèse des non-conformités effectuée")
si tu le souhaites, tu peux supprimer le msgbox de la dernière ligne ca n'apporte rien à mon avis mais.. -
-
-
Bonjour wissouma31,
Excusez de l'intrusion, vous devriez contrôler le format de vos tableaux qui ne sont pas identiques (exemple la colonne des OUI/NON devrait-être en [G] ...) et ceci comme l'avait précisé michel_m [il faut que toutes les colonnes : code soit en colonne D, règlement en E et oui/non en G pour être comme sur objectif12] ... ce qui n'est pas le cas dans votre classeur.