Aide VBA ("Selection")

Bonjour,

Je viens tout juste de m'inscrire sur se site pour obtenir de l'aide.

Je suis actuellement en période de stage et mon patron m'a demandé de lui fournir un document excel lui permettant, d'afficher les infos qui l’intéresse en fonction d'un choix de département.

Je tiens à préciser que j'ai très peu de connaissance en programmation excel !

( C'est pour ça que j'ai besoin de votre aide )

Donc j'ai 3 colonnes avec différents montants.

Chaque colonne correspond à une zone ( 1, 2 et 3).

Une zone va correspondre à un ensemble de département.

Je souhaite afficher les montants correspondant au département sélectionner à partir d'une liste déroulante.

Je ne sais si cela est possible autrement qu'avec du VBA ?!

Merci d'avance pour vos réponse

Bonjour,

a priori c'est possible sans vba.

si tu nous mettais une exemple de ton fichier ?

ex

Bonjour à tous,

Je souhaiterais créer une macro VBA pour récupérer les données d'un tableau croisé dynamique

Mon tableau croisé contient en ligne : les références articles / en valeurs : les qté en kg / et en colonne : le mois en cours et les mois restants (toujours 6derniers mois) (juin juillet..etc..décembre)

Sur mon fichier excel du mois de juin, la macro fonctionne très bien.

Pas de problèmes.

Mon soucis sera pour remplir le fichier excel pour les mois suivants.

Comment faire pour créer une macro qui récupère les données du TCD et qui soit fonctionnelles sur tout les mois de l'année.

Explications :

Dans mon TCD la colonne N°8 correspond au mois de juin.

Dans mon fichier excel à remplir, la colonne N°34 correspond au mois de juin.

Ma macro lui dit d'aller chercher les infos de la colonne 8 du TCD pour les coller dans la colonne 34 du fichier excel si les références d'artciles sont identiques. (respectivement colonne 2 du TCD et 3 du fichier excel)

Lorsque je passerai au mois suivant,

la colonne 8 sera juillet au lieu de Juin et dans mon fichier excel la colonne 34 sera celle du mois de juillet au lieu de juin.

merci donc de me dire comment faire pour récupérer les bonnes infos en sachant que chaque mois, le TCD sera incrémenter d'un mois.

Pour ne pas avoir les données du mois de juin sur juillet, celle de juillet sur aout...etc..etc..

Merci d'avance pour votre airde.

Cdlt

Momo


Voici la macro fonctionnelle pour le mois de juin.

Merci de me dire comment faire pour les mois suivants..

Sub carnetfresnoy()

Dim i As Integer

Dim j As Integer

Dim k As Integer

Dim colJura, colJuira, colAora, colSeptra, colOctra, colNovra, colDecra, indspecra As Integer ''indice rationnel

Dim finra As Integer

Dim colJucarnet, colJuicarnet, colAocarnet, colSeptcarnet, colOctcarnet, indSpeccarnet, indgpestk As Integer '' indice carnet

Dim fin As Integer

Dim DIV As String

Dim FRES As String

DIV = "FRESNOY" '''division du programme, rationnel traité

carnet = "CARNET"

''''integre stock rettel

colJura = 34 ''indice colonne Juin dans le rationnel

colJuira = 35 ''indice colonne Juillet dans le rationnel

colAora = 36 '''indice colone Aout dans le rationnel

colSeptra = 37 '''indice colone Septembre dans le rationnel

colOctra = 38 '''indice colone Octobre dans le rationnel

colNovra = 39 '''indice colone Novembre dans le rationnel

colDecra = 40 '''indice colone Décembre dans le rationnel

indspecra = 3 ''indice de la specif dans le rationnel

fin = 218 ''dernière ligne du rationnel

colJuca = 8 ''indice colonne juin dans le carnet

colJuica = 9 ''indice colonne juillet dans le carnet

colAoca = 10 '''indice colone Aout dans le carnet

colSeptca = 11 '''indice colone Septembre dans le carnet

colOctca = 12 '''indice colone octobre dans le carnet

indGpeca = 3 ''indice du groupe dans le carnet

indspecca = 2 ''indice de la specif dans le carnet

i = 2

Do Until Worksheets(carnet).Cells(i, indGpeca).Value = "FRES" ''va jusqu'au spec Rettel

i = i + 1

Loop

'''Integre le carnet de la feuille dans le rationnel

Do While Worksheets(carnet).Cells(i, indGpeca).Value = "FRES"

j = 3

Do Until Worksheets(DIV).Cells(j, indspecra).Value = Worksheets(carnet).Cells(i, indspecca).Value Or Worksheets(DIV).Cells(j, indspecra + 1).Value = Worksheets(carnet).Cells(i, indspecca).Value

If j > fin Then

GoTo specsuivante

End If

j = j + 1

Loop

Worksheets(DIV).Cells(j, colJura).Value = Worksheets(DIV).Cells(j, colJura).Value + Worksheets(carnet).Cells(i, colJuca).Value

Worksheets(DIV).Cells(j, colJuira).Value = Worksheets(DIV).Cells(j, colJuira).Value + Worksheets(carnet).Cells(i, colJuica).Value

Worksheets(DIV).Cells(j, colAora).Value = Worksheets(DIV).Cells(j, colAora).Value + Worksheets(carnet).Cells(i, colAoca).Value

Worksheets(DIV).Cells(j, colSeptra).Value = Worksheets(DIV).Cells(j, colSeptra).Value + Worksheets(carnet).Cells(i, colSeptca).Value

Worksheets(DIV).Cells(j, colOctra).Value = Worksheets(DIV).Cells(j, colOctra).Value + Worksheets(carnet).Cells(i, colOctca).Value

Worksheets(carnet).Cells(i, 15).Value = "ok dans le rationnel"

specsuivante:

i = i + 1

Loop

End Sub

Bonjour à tous,

@ kolia :

c'est un fichier qui était demandé, pas une image.

@ momo57 :

Si tu créais ton propre topic plutôt que de te poser n'importe où ?

Tu en profiteras pour joindre un fichier aussi.

eric

Voila mon fichier (dsl) :

7ex.xlsx (18.76 Ko)
eriiic a écrit :

Bonjour à tous,

@ kolia :

c'est un fichier qui était demandé, pas une image.

@ momo57 :

Si tu créais ton propre topic plutôt que de te poser n'importe où ?

Tu en profiteras pour joindre un fichier aussi.

eric

Ok Eric,

Désolé mais comme c'est la 1ere fois que je m'inscris sur ce forum je ne savais pas comment faire.

J'ai crée un nouveau topic, création macro Vba avec boucle sur mois.

Merci d'y jeter un oeil si possible.

Bone continuation kolia.

Cdlt

Momo

Voila mon fichier (dsl) :

6ex.xlsx (18.76 Ko)

Bonjour,

Ci-joint un fichier avec une liste déroulante ( faire clic-droit dessus pour voir les données rentrées ) et le total donné en retour ( à l'exclusion de la plus-value ).

A adapter peut-être un peu suivant ton besoin spécifique.

Arnaud.

Ça viens peut être de moi, mais je ne trouve pas ta pièce jointe ???

arno973

Ca vient plutôt de moi désolé

8ex-ld.xlsx (21.36 Ko)

Dsl mais ça ne correspond pas vraiment à ce que je souhaite.

j'aimerai afficher qu'une colonne de tarif en fonction d'une liste de sélection.

Par exemple si l'utilisateur sélectionne le département n°37 cela va seulement afficher la colonne ZONE 1 !

Pour cela, il me manquerait l'information des départements qui sont inclus dans chaque zone... Une petite base de donnée sur une des feuilles.

Ci-joint exemple, avec les résultats sur ton onglet "PEINTURE". C'est plus ça que tu recherches ?

Si c'est le cas, il te restes plus qu'à l'adapter suivant ton zonage... Il y a peut-être des solutions plus simples cela dit !

8ex-ld.xlsx (30.61 Ko)

Merci infiniment arno973 !

Même si il y a peut être plus simple, cela me suffit amplement !!!

Dsl tu peux me dire comment tu as procéder car je ne comprend pas tu as fait et car j'aimerai l'appliquer sur d'autres tables ?

Je change de question :

Comment tu a fait pour étirer cette formule:

=SI($D$1="zone 1";INDIRECT("'"&L4&"'!G6D4");SI($D$1="zone 2";INDIRECT("'"&L4&"'!E4");SI($D$1="zone 3";INDIRECT("'"&L4&"'!F4");0)))

Pour faire en sorte que je ne la recopie pas à chaque fois ?

kolia a écrit :

Dsl tu peux me dire comment tu as procéder car je ne comprend pas tu as fait et car j'aimerai l'appliquer sur d'autres tables ?

Ci-joint un fichier plus simple ( une des fonctions n'était pas forcément utile, mais comme en ce moment je m'en sers partout j'ai tendance à vouloir l'utiliser vraiment partout ^^ ) et ça te permettra de l'étirer plus facilement.

Et quelques commentaires sur le fichier pour l'adapter à d'autres cas.

Arnaud.

11ex-ld.xlsx (32.07 Ko)

slt,

Encore merci tu es génial !

Rechercher des sujets similaires à "aide vba selection"