Ajouter une instruction au code VBA

Bonjour le forum,

j'aimerais ajouter une petite instruction à mon code Vba, pour afficher les clients "Non Payé"

dans une autre feuille ''tableau de bord''.

Le code trouve dans feuille recap.

le code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Clients As Object
Dim Cel As Range
If Target.Count > 1 Then Exit Sub
If Target.Address = "$H$2" Then
    Set Clients = CreateObject("Scripting.Dictionary")
    For Each Cel In Range("B2:B" & Cells(Rows.Count, "B").End(xlUp).Row)
        If Cel <> "" And Cel.Offset(, 3).Value = "Non Payé" Then
            Clients(Cel.Value) = Cel.Value
        End If
    Next Cel
    With Target.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=Join(Clients.Keys, ",")
    End With
End If
End Sub

Je remercie d'avance, tous ceux qui pourraient m'apporter de l'aide.

Sincères salutations

Bonjour,

Ton fichier serait préférable avec les feuilles concernées, plutôt que ton code , que l'on ne peut même pas tester .

Amicalement

Pierrot

Bonjour,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Clients As Object
Dim Cel As Range
    If Target.Count > 1 Then Exit Sub
    If Target.Address = "$H$2" Then
        Set Clients = CreateObject("Scripting.Dictionary")
        For Each Cel In Range("B2:B" & Cells(Rows.Count, "B").End(xlUp).Row)
            If Cel <> "" And Cel.Offset(, 3).Value = "Non Payé" Then
                Clients(Cel.Value) = Cel.Value
                'Inscrire le nom du client dans la feuille "tableau de bord"
                Worksheets("tableau de bord").Range("A" & Rows.Count).End(xlUp).Offset(1) = Cel.Value
            End If
        Next Cel
        With Target.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:=Join(Clients.Keys, ",")
        End With
    End If
End Sub

A+

Bonjour, frangy,

sans le fichier, je ne sais pas tester ton code,, je sais, ce n'est pas moi le demandeur,mais à la veille de mes 75 ans, j'ai toujours envie

de progresser. et d'apprendre.

Bonne journée à tous

Amitiés

Pierrot

Bonjour Pierre,

Rassures-toi, je ne sais pas non plus tester le code sans fichier.

Je suis allé voir dans les messages précédents du demandeur ... au cas où.

J'ai trouvé une piste dans ce post

https://forum.excel-pratique.com/excel/extraire-les-ventes-avec-date-t61461.html

Je reconnais que je suis joueur

A+

Bonjour, frangy,

ta réponse m'a bien aidée, j'ai pu copier les codes pour les adapter a mon fichier gestion de rues,

Autre sujet :

je cherche une solution pour automatiser l'impression de fiches classées comme plages de noms, "Ctrl+F3" pour ouvrir la zone noms.

est-il possible de créer une liste déroulante avec mes noms de plages et de sélectionner la série de fiches à imprimer ?

Je peux utiliser des liens hypertextes, mais comment créer une liste avec ces liens? Ces liens m'ouvriraient les feuilles sélectionnées.

Merci de me consacrer de ton temps .

Amitiés

Pierrot

Re-bonjour Pierre,

Tu seras sûrement d'accord avec moi pour dire qu'il est préférable d'éviter de squatter le post de zinelamri.

Autant ouvrir un autre sujet.

Cela dit, je ne comprends pas ce que tu cherches à faire.

Chaque fiche correspond-elle à une feuille ? (si c'est le cas, il suffit de lancer l’impression de la feuille concernée).

A+

Bonsoir à tous ,

Bonsoir Cappe Pierre, frangy

Merci de vous occuper de mon souci

Vous voudrez bien nous excuser de l'envoi tardif de ce fichier

J'ai mis mon fichier en pièce jointe pour voir les résultas

Bien cordialement

15gestion-zine2015.xlsm (202.23 Ko)

Rebonjour à vous deux,

Je ne voulais squatter le poste de personne, mais je profite de toutes les occasions qui me sont données d'utiliser les réponses de ce forum, qui sont sensées me convenir.Si j'ai pu froisser l'un de vous, je m'en excuse.

Ceci dit, mes fiches vont être classées dans une feuille appelée "Fiches" et seront imprimées par série de quatre sur une feuille.

Voilà, frangy, si tu es d'accord,dès que mes fiches seront crées, je te posterai mon fichier avec mes souhaits.

Pour zinelamri, désolé, je n'arrive pas à ouvrir ton fichier.

Remerciements anticipés

Amicalement

Pierrot

Bonsoir à tous

Bonsoir Cappe Pierre

Je T'envoie une autre copie, j'espère que sa marche

Je vous remercie grandement d'avance!

voilà la pièce jointe

Amicalement.

19gesticlients.xlsm (68.08 Ko)

Bonjour zinelamri,

Voici ton fichier en retour.

La sélection de la cellule A29 de la feuille "Tableau De Bord" provoque la recherche des clients "Non payé" dans la feuille "Récap", la création de la liste de choix et la copie des lignes dans la feuille "Tableau De Bord".

21gestion-zine2015.xlsm (188.93 Ko)

A+

Bonsoir à tous ,

Bonsoir frangy,

je tiens à préciser qu'il semble y avoir un certain malentendu

Le but de ce code c'est d'affiche les clients ''non payé'' dans la liste déroulante

et pour éviter les doublons lors d'ouvertures de liste déroulante.

merci pour votre gentillesse et votre patience

Sincères salutations

Bonjour zinelamri,

J'ai du mal à te suivre.

Ton code initial réalisait déjà ce que tu demandes, à savoir créer une liste sans doublon des clients ''non payé''.

Le but de ta demande était d'ajouter une instruction à ton code VBA, pour afficher les clients "non payé" dans la feuille ''tableau de bord''.

C'est ce que réalise la procédure.

A+

Bonjour, zinelamri

à tester , ton fichier de retour

Amicalement

Pierrot

resolu4

Bonjour le forum

Bonjour frangy & Cappe Pierre

Premièrement Je vous remercie beaucoup pour votre aide professionnelle.

Deuxièmement une petite explication.

L'ex-version (2014) la liste des clients et l'extraction dans même feuille,

Dans la version 2015 j'aimerais que la liste déroulante et l'extraction dans

feuille ''Tableau de bord'' en gardant la liste des clients dans feuille ''récap''

j'exige :

Ajouter dans mon code la phrase suivante With Sheets("Tableau De Bord").

Je crois que c'est plus clair maintenant

Je vous remercie, avec sincérité pour m'avoir apporté ton aide.

Cordialement

Re-bonjour zinelamri,

Je suis désolé mais pour moi c'est toujours aussi trouble.

Tu devrais joindre un exemple avec le résultat attendu.

A+

Bonsoir à tous

Bonsoir frangy

Merci pour votre générosité et votre patience, surtout n'abandonnez pas!

j'ai concept un exemple est le modèle typique que je souhaite.

Je pense que cette fois très clair.

J'ai mis mon exemple en pièce jointe.

A très bientôt

Cordialement

Bonsoir,

Une nouvelle tentative ... à tester

A+

re bonsoir

le sourire semble que tu es sur de la réponse enfin le bon joueur marqué le but

C'est exactement ce qu'il fallait. Merci beaucoup

Merci à toi et à papy Cappe Pierre et tous ceux qui m'ont aidé

Amicalement

zinelamri

Rechercher des sujets similaires à "ajouter instruction code vba"