EXCEL MACRO LISTE DEROULANTE
Fermé
tekitizi
Messages postés
5
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
18 avril 2009
-
15 avril 2009 à 18:18
tekitizi - 16 avril 2009 à 16:02
tekitizi - 16 avril 2009 à 16:02
A voir également:
- Macro liste déroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Google sheet liste déroulante - Accueil - Guide bureautique
6 réponses
hich24
Messages postés
1633
Date d'inscription
mardi 2 octobre 2007
Statut
Membre
Dernière intervention
3 novembre 2024
753
16 avril 2009 à 10:55
16 avril 2009 à 10:55
au lieu de mettre votre liste par validation
1- insére une liste : menu Affichage > Barre d'outil > boite a outils controle
2- vous aller voire une boite a outil , il faut choiisir une liste ( deroulante si vous vouler )
3- insere la liste sur la feuille
4- la je ne sais pas comment sont posissioner vos donné ( combien de colonne ? , une feuille ou ? , combien de classeur ? ..)
1- insére une liste : menu Affichage > Barre d'outil > boite a outils controle
2- vous aller voire une boite a outil , il faut choiisir une liste ( deroulante si vous vouler )
3- insere la liste sur la feuille
4- la je ne sais pas comment sont posissioner vos donné ( combien de colonne ? , une feuille ou ? , combien de classeur ? ..)
hich24
Messages postés
1633
Date d'inscription
mardi 2 octobre 2007
Statut
Membre
Dernière intervention
3 novembre 2024
753
15 avril 2009 à 18:26
15 avril 2009 à 18:26
1- combien de classeur ?
2- comment sont enregistré les données dans ces classeur ?
3- quelle sont les crétere de recherche ?
*- tu peut aussi ( si c'est pas confidentielle ) mettre le fichier sur cette adress : http://www.cijoint.fr/
sinon on vas essayer de faire ca en pas a pas
2- comment sont enregistré les données dans ces classeur ?
3- quelle sont les crétere de recherche ?
*- tu peut aussi ( si c'est pas confidentielle ) mettre le fichier sur cette adress : http://www.cijoint.fr/
sinon on vas essayer de faire ca en pas a pas
tekitizi
Messages postés
5
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
18 avril 2009
15 avril 2009 à 20:08
15 avril 2009 à 20:08
Bonjour, et merci de répondre aussi rapidement.
Alors voila, je bosse comme analyste financier, donc jpeux pas trop de communiquer les données...
Ce qui se passe dans mon fichier excel, ce que j'ai une liste de 600 produits avec des codes, tous numérotés de 100 à 1000.
Certains possèdent la lettre L, tel que 775L ou 815 ..
Ces codes me sont essentiels pour l'architecture de mon fichier, car le changement de produit se fait actuellemnt par une liste déroulante (via la validation de donées) qui adapte ce code au milieu d'une séquence ="France"&"CODEPRODUIT"&"Marque"...
Cette clé sert ensuite de code pour aller rechercher d'autres informations codées de la même facon, qui sont réparties sur d'autres fichiers excel sur le réseau.
A cette fin, j'ai jugé utile d'employer le INDEX;MATCH;MATCH, mais cela prend du temps pour charger les données de chaque produit, et effectuer toute une série de calculs, pour finalement me presenter un graphique de rentabilité par produit.
Le fichiermarche parfaitement en soit, la liste déroulante fonctionne très bien, et les codes sont retrouvés, mais si je change de produit, il me faut environ 20 secondes pr le chargement. Une simple macro ne détecte pas le changement de produit via la liste déroulante :-(
Je n'y connais absolument rien en macro, ni en script, mais je pense qu'une macro me permettant d'afficher simplement le code produit en cellule B6 resoudrait la premiere partie du pb. L'ensemble des codes produits sont présents dans une liste en colonne CP, mais comment les afficher un à un ?
il reste encore à enregistrer un classeur par produit, en lui attribuant son code, tel que "marque"100.xls ou "marque"630L.xls, et ce dans un emplacement precis.
Dans l'idéal cette macro devrait lancer une impression du document au moment du saving..
Si vous savez faire tout ca, wouaaaahhh, et merci bcp !
Alors voila, je bosse comme analyste financier, donc jpeux pas trop de communiquer les données...
Ce qui se passe dans mon fichier excel, ce que j'ai une liste de 600 produits avec des codes, tous numérotés de 100 à 1000.
Certains possèdent la lettre L, tel que 775L ou 815 ..
Ces codes me sont essentiels pour l'architecture de mon fichier, car le changement de produit se fait actuellemnt par une liste déroulante (via la validation de donées) qui adapte ce code au milieu d'une séquence ="France"&"CODEPRODUIT"&"Marque"...
Cette clé sert ensuite de code pour aller rechercher d'autres informations codées de la même facon, qui sont réparties sur d'autres fichiers excel sur le réseau.
A cette fin, j'ai jugé utile d'employer le INDEX;MATCH;MATCH, mais cela prend du temps pour charger les données de chaque produit, et effectuer toute une série de calculs, pour finalement me presenter un graphique de rentabilité par produit.
Le fichiermarche parfaitement en soit, la liste déroulante fonctionne très bien, et les codes sont retrouvés, mais si je change de produit, il me faut environ 20 secondes pr le chargement. Une simple macro ne détecte pas le changement de produit via la liste déroulante :-(
Je n'y connais absolument rien en macro, ni en script, mais je pense qu'une macro me permettant d'afficher simplement le code produit en cellule B6 resoudrait la premiere partie du pb. L'ensemble des codes produits sont présents dans une liste en colonne CP, mais comment les afficher un à un ?
il reste encore à enregistrer un classeur par produit, en lui attribuant son code, tel que "marque"100.xls ou "marque"630L.xls, et ce dans un emplacement precis.
Dans l'idéal cette macro devrait lancer une impression du document au moment du saving..
Si vous savez faire tout ca, wouaaaahhh, et merci bcp !
qmike
Messages postés
1509
Date d'inscription
mardi 19 juillet 2005
Statut
Membre
Dernière intervention
18 juin 2012
594
16 avril 2009 à 11:02
16 avril 2009 à 11:02
bonjour
tu trouveras des exemples de listes déroulantes ici et surtout comment récupérer les données issues de ces listes déroulantes
http://bvrve.club.fr/Astuces_Michel/excelliste.html
bonne journée
tu trouveras des exemples de listes déroulantes ici et surtout comment récupérer les données issues de ces listes déroulantes
http://bvrve.club.fr/Astuces_Michel/excelliste.html
bonne journée
Bonjour,
Merci pour ces eclaircissement.
En fait, la nuit portant conseil, j'ai zapé la partie liste déroulante, et j'ai mis en place une macro qui vient faire une recherchev sur le code produit.
Je me retrouve avec ce script au final
Sub testcopy()
'
' testcopy Macro
' Macro recorded 16/04/2009 by Temp
'
'
Dim i As Integer
For i = 1 To 4
Range("D3").Select
Selection.Copy
Range("C3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWorkbook.Save
monfichier = "C:\RESULTATS RESEXP\" & "EAB_" & Sheets("Rentaprod").Range("b6").Value
If Dir(monfichier & ".xls") <> "" Then
MsgBox ("Un fichier de ce nom existe déjà, veuillez le supprimer/déplacer avant nouvelle copie")
Else
monfichier = monfichier & ".xls"
ActiveWorkbook.SaveAs Filename:= _
monfichier, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End If
Next i
Workbooks.Open Filename:= _
"N:\RESEXP\Renta\Rentaprod.xls"
MsgBox ("Fichiers créés dans C:\RESULTATS RESEXP\")
End Sub
Tout va bien, je desire seuelement ajouter troisoptions en plus qui sont: -
- bloquer l'assistant office qui me demande d'aller rechercher les lien ds les fichiers externes (ces fichiers n'ont pas bougé depuis la creation de ma macro, je ne comprend pas pkoi il veut les rechercher... ms comment le bloquer?
-fermer le fichier créer (parque ce quepour l'instant j'ai un test avec i= 1 à 4, mais en vrai j'aurai i= 1 à 600...
- ajouter une impression du doc pour chacune des feuilles créés
Merci pour ces eclaircissement.
En fait, la nuit portant conseil, j'ai zapé la partie liste déroulante, et j'ai mis en place une macro qui vient faire une recherchev sur le code produit.
Je me retrouve avec ce script au final
Sub testcopy()
'
' testcopy Macro
' Macro recorded 16/04/2009 by Temp
'
'
Dim i As Integer
For i = 1 To 4
Range("D3").Select
Selection.Copy
Range("C3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWorkbook.Save
monfichier = "C:\RESULTATS RESEXP\" & "EAB_" & Sheets("Rentaprod").Range("b6").Value
If Dir(monfichier & ".xls") <> "" Then
MsgBox ("Un fichier de ce nom existe déjà, veuillez le supprimer/déplacer avant nouvelle copie")
Else
monfichier = monfichier & ".xls"
ActiveWorkbook.SaveAs Filename:= _
monfichier, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End If
Next i
Workbooks.Open Filename:= _
"N:\RESEXP\Renta\Rentaprod.xls"
MsgBox ("Fichiers créés dans C:\RESULTATS RESEXP\")
End Sub
Tout va bien, je desire seuelement ajouter troisoptions en plus qui sont: -
- bloquer l'assistant office qui me demande d'aller rechercher les lien ds les fichiers externes (ces fichiers n'ont pas bougé depuis la creation de ma macro, je ne comprend pas pkoi il veut les rechercher... ms comment le bloquer?
-fermer le fichier créer (parque ce quepour l'instant j'ai un test avec i= 1 à 4, mais en vrai j'aurai i= 1 à 600...
- ajouter une impression du doc pour chacune des feuilles créés
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
hich24
Messages postés
1633
Date d'inscription
mardi 2 octobre 2007
Statut
Membre
Dernière intervention
3 novembre 2024
753
16 avril 2009 à 12:10
16 avril 2009 à 12:10
pour l'mpression :
Sheets("Feuil2").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
change le nom de feuille 2 pour selui qui vous convient
Sheets("Feuil2").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
change le nom de feuille 2 pour selui qui vous convient
TROUVÉ !
Sub SavePrint()
'
' SavePrint Macro
' Macro recorded 16/04/2009 by Gold
'
'
Dim i As Integer
For i = 1 To 4
Range("D3").Select
Selection.Copy
Range("C3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWorkbook.SaveAs "C:\RESULTATS RESEXP\" & "EAB_" & Sheets("Rentaprod").Range("b6").Value
Range("A88:V170").Select
Selection.PrintOut
Next i
Workbooks.Open Filename:= _
"N:\RESEXP\Renta\Rentaprod.xls"
MsgBox ("Fichiers créés dans C:\RESULTATS RESEXP\")
End Sub
Sub SavePrint()
'
' SavePrint Macro
' Macro recorded 16/04/2009 by Gold
'
'
Dim i As Integer
For i = 1 To 4
Range("D3").Select
Selection.Copy
Range("C3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWorkbook.SaveAs "C:\RESULTATS RESEXP\" & "EAB_" & Sheets("Rentaprod").Range("b6").Value
Range("A88:V170").Select
Selection.PrintOut
Next i
Workbooks.Open Filename:= _
"N:\RESEXP\Renta\Rentaprod.xls"
MsgBox ("Fichiers créés dans C:\RESULTATS RESEXP\")
End Sub