Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Extraction données suivant sélection dans USF

24 réponses
Avatar
Théodore
Bonjour,

Je travaille en ce moment sur un petit programme mais comme je débute sous
VBA j'ai quelques difficultés !!!

En quelques mots :
Dans un USF on trouve :

- ListBoxA = liste de personnes
- ListBoxB = mois de l'année
- ComboBox1 = Années 2008, 2009 et 2010
- CheckBoxS1 = Site 1
- CheckBoxS2 = Site 2
- Bouton1 = Valider
- Bouton2 = Annuler

L'USF s'ouvre grace à un bouton qui se situe dans l'onglet "Synthèse".

Dans un 2ème onglet (BDonnées), se trouve une base de données (Site,
nom_personnes, mois, année, CA_net, nom_produits, Réf_produits, nom_clients,
Réf_clients)

Ma question :
Comment, suivant les différents choix dans mon USF, extraire les données de
la BD pour les copier dans la feuille "Synthèse" ?

Si vous avez une idée...

Merci et bon réveillon !

Théo

4 réponses

1 2 3
Avatar
Théodore
Mgr...merci !
Et bonne année !

Cdt,
Théo

"Mgr T. Banni" a écrit dans le message de
news:
bonjour théodore
essaie de partir de la réponse originale de FFO
tu y verras que le style Citroen (deux chevrons, donc) n'y figure pas
d'ailleurs regarde ci-dessous, il y a même maintenant un chevron de plus
c'est ton programme de messagerie qui ajoute ces chevrons pour te
permettre de différencier les réponses dans un même fil
voili voilou
Mgr T.B.

"Théodore" a écrit dans le message de news:

Bonjour à Toi !

Merci pour ton code.

Mais n'y a t'il pas une erreur ici :

& Sheets("BDonnées").Range("G" & i) & "/" & Format(Date, "yy"),
"mmmm"))




End If

Le ">>" !

A+
Théo


"FFO" a écrit dans le message de
news:
Rebonjour à toi

Pour pouvoir sélectionner tous les mois utilises le même principe que
pour
la liste des personnes
Un choix "TOUS" dans la listeBoxM

Avant le i = 2 mets comme ceci :

If Sheets("infos").Range("A" & Me.ListBoxA.ListIndex + 1) = "TOUS" Then
Nom = ""
Else
Nom = Sheets("infos").Range("A" & Me.ListBoxA.ListIndex + 1)
End If
If Sheets("infos").Range("C" & Me.ListBoxM.ListIndex + 1) = "TOUS" Then
Mois = ""
Else
Mois = Sheets("infos").Range("C" & Me.ListBoxM.ListIndex + 1)
End If

Juste aprés Do While i <
Sheets("BDonnées").Range("D65535").End(xlUp).Row+1
Mets ceci :

If Sheets("infos").Range("A" & Me.ListBoxA.ListIndex + 1) = "TOUS" Then
Donnée1 = ""
Else
Donnée1 = Sheets("BDonnées").Range("D" & i)
End If
If Sheets("infos").Range("C" & Me.ListBoxM.ListIndex + 1) = "TOUS" Then
Donnée2 = ""
Else
Donnée2 = UCase(Format(Format(Date, "dd") & "/"
& Sheets("BDonnées").Range("G" & i) & "/" & Format(Date, "yy"),
"mmmm"))




End If

Et à la place de :

If Données = Conditions Then

Mets

If Nom & Mois & Sheets("infos").Range("E" & Me.ComboBoxAN.ListIndex + 1)
&
Site = Donnée1 & Donnée2 & Sheets("BDonnées").Range("H" & i) &
Sheets("BDonnées").Range("A" & i) Then

et la suite :

Sheets("Synthèse").Range("A" & Ligne) = Sheets("BDonnées").Range("A" &
i)
Sheets("Synthèse").Range("B" & Ligne) = Sheets("BDonnées").Range("H" &
i)
Sheets("Synthèse").Range("C" & Ligne) = Sheets("BDonnées").Range("G" &
i)
Sheets("Synthèse").Range("D" & Ligne) = Sheets("BDonnées").Range("D" &
i)
Sheets("Synthèse").Range("E" & Ligne) = Sheets("BDonnées").Range("C" &
i)
'Sheets("Synthèse").Range("F" & Ligne) = Sheets("BDonnées").Range("B" &
i)
Sheets("Synthèse").Range("G" & Ligne) = Sheets("BDonnées").Range("B" &
i)
Sheets("Synthèse").Range("H" & Ligne) = Sheets("BDonnées").Range("E" &
i)
Sheets("Synthèse").Range("I" & Ligne) = Sheets("BDonnées").Range("F" &
i)
etc....


Je pense que celà devrait convenir

Biensur je n'ai pas essayé


Fais des essais et dis moi !!!!!










Avatar
Mgr T. Banni
itou
-)))))))))))))
T.B.

"Théodore" a écrit dans le message de news:

Mgr...merci !
Et bonne année !

Cdt,
Théo

"Mgr T. Banni" a écrit dans le message de
news:
bonjour théodore
essaie de partir de la réponse originale de FFO
tu y verras que le style Citroen (deux chevrons, donc) n'y figure pas
d'ailleurs regarde ci-dessous, il y a même maintenant un chevron de plus
c'est ton programme de messagerie qui ajoute ces chevrons pour te
permettre de différencier les réponses dans un même fil
voili voilou
Mgr T.B.

"Théodore" a écrit dans le message de news:

Bonjour à Toi !

Merci pour ton code.

Mais n'y a t'il pas une erreur ici :

& Sheets("BDonnées").Range("G" & i) & "/" & Format(Date, "yy"),
"mmmm"))




End If

Le ">>" !

A+
Théo


"FFO" a écrit dans le message de
news:
Rebonjour à toi

Pour pouvoir sélectionner tous les mois utilises le même principe que
pour
la liste des personnes
Un choix "TOUS" dans la listeBoxM

Avant le i = 2 mets comme ceci :

If Sheets("infos").Range("A" & Me.ListBoxA.ListIndex + 1) = "TOUS" Then
Nom = ""
Else
Nom = Sheets("infos").Range("A" & Me.ListBoxA.ListIndex + 1)
End If
If Sheets("infos").Range("C" & Me.ListBoxM.ListIndex + 1) = "TOUS" Then
Mois = ""
Else
Mois = Sheets("infos").Range("C" & Me.ListBoxM.ListIndex + 1)
End If

Juste aprés Do While i <
Sheets("BDonnées").Range("D65535").End(xlUp).Row+1
Mets ceci :

If Sheets("infos").Range("A" & Me.ListBoxA.ListIndex + 1) = "TOUS" Then
Donnée1 = ""
Else
Donnée1 = Sheets("BDonnées").Range("D" & i)
End If
If Sheets("infos").Range("C" & Me.ListBoxM.ListIndex + 1) = "TOUS" Then
Donnée2 = ""
Else
Donnée2 = UCase(Format(Format(Date, "dd") & "/"
& Sheets("BDonnées").Range("G" & i) & "/" & Format(Date, "yy"),
"mmmm"))




End If

Et à la place de :

If Données = Conditions Then

Mets

If Nom & Mois & Sheets("infos").Range("E" & Me.ComboBoxAN.ListIndex +
1) &
Site = Donnée1 & Donnée2 & Sheets("BDonnées").Range("H" & i) &
Sheets("BDonnées").Range("A" & i) Then

et la suite :

Sheets("Synthèse").Range("A" & Ligne) = Sheets("BDonnées").Range("A" &
i)
Sheets("Synthèse").Range("B" & Ligne) = Sheets("BDonnées").Range("H" &
i)
Sheets("Synthèse").Range("C" & Ligne) = Sheets("BDonnées").Range("G" &
i)
Sheets("Synthèse").Range("D" & Ligne) = Sheets("BDonnées").Range("D" &
i)
Sheets("Synthèse").Range("E" & Ligne) = Sheets("BDonnées").Range("C" &
i)
'Sheets("Synthèse").Range("F" & Ligne) = Sheets("BDonnées").Range("B" &
i)
Sheets("Synthèse").Range("G" & Ligne) = Sheets("BDonnées").Range("B" &
i)
Sheets("Synthèse").Range("H" & Ligne) = Sheets("BDonnées").Range("E" &
i)
Sheets("Synthèse").Range("I" & Ligne) = Sheets("BDonnées").Range("F" &
i)
etc....


Je pense que celà devrait convenir

Biensur je n'ai pas essayé


Fais des essais et dis moi !!!!!













Avatar
FFO
Rebonjour à toi

Mille excuses pour cette imperfection
Effectivement comme le dit trés bien Mgr T. Banni que je remercie 2 chevrons
en tête de ligne font parasites et sont donc à supprimer

Aprés avoir éliminé ces intrus est ce que celà fonctionne ????

Tiens moi informé !!!!!!
Avatar
Théodore
Ok, je continue mes tests mais je crois que je vais encore avoir besoin des
tes connaissances !

A+

Théo


"FFO" a écrit dans le message de
news:
Rebonjour à toi

Mille excuses pour cette imperfection
Effectivement comme le dit trés bien Mgr T. Banni que je remercie 2
chevrons
en tête de ligne font parasites et sont donc à supprimer

Aprés avoir éliminé ces intrus est ce que celà fonctionne ????

Tiens moi informé !!!!!!



1 2 3