Liste déroulante utilisant base de données excel
Résolu/Fermé
madabeach972
Messages postés
9
Date d'inscription
vendredi 12 juin 2015
Statut
Membre
Dernière intervention
8 septembre 2015
-
4 sept. 2015 à 16:11
madabeach972 Messages postés 9 Date d'inscription vendredi 12 juin 2015 Statut Membre Dernière intervention 8 septembre 2015 - 8 sept. 2015 à 09:30
madabeach972 Messages postés 9 Date d'inscription vendredi 12 juin 2015 Statut Membre Dernière intervention 8 septembre 2015 - 8 sept. 2015 à 09:30
A voir également:
- Liste déroulante word avec source excel
- Liste déroulante excel - Guide
- Supprimer une page word - Guide
- Excel liste déroulante en cascade - Guide
- Word excel gratuit - Guide
- Espace insécable word - Guide
2 réponses
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 213
4 sept. 2015 à 16:44
4 sept. 2015 à 16:44
Bonjour,
Oui, tente...
Vu que tu ne prends même pas la peine de faire un retour à ceux qui te répondent et encore moins de dire merci tu auras sûrement beaucoup de réponses.
eric
Oui, tente...
Vu que tu ne prends même pas la peine de faire un retour à ceux qui te répondent et encore moins de dire merci tu auras sûrement beaucoup de réponses.
eric
madabeach972
Messages postés
9
Date d'inscription
vendredi 12 juin 2015
Statut
Membre
Dernière intervention
8 septembre 2015
4 sept. 2015 à 22:55
4 sept. 2015 à 22:55
chose promise, chose due, voilà le code qui fonctionne parfaitement pour mon fichier word.
Sub mettre_a_jour_liste_nom()
Dim objCC As ContentControl
Dim docCCs As ContentControls
' Get the collection of all content controls with this tag.
ExcelFile = ThisDocument.Path + "\contacts04-09-2015.xls" 'mettre le chemin du fichier
Set xlAppList = CreateObject("Excel.Application")
Set MyWorkbook = xlAppList.Workbooks.Open(ExcelFile, 0, , , "") 'demarrage de la lecture du fichier excel
MyWorkbook.Sheets("liste contacts").Select 'selection de la feuille "liste contacts"
'selectionne tous les ContentControl avec le balise : balise_list_nom_zonebox
Set docCCs = ActiveDocument.SelectContentControlsByTag("balise_list_nom_zonebox")
' If any content controls are found iterate through them and give the type.
If docCCs.Count <> 0 Then 'verifie qu'il y a des ContentControl liste_nom dans le doc
For Each objCC In docCCs
objCC.SetPlaceholderText Text:="coucou"
objCC.DropdownListEntries.Clear ' pour vider la liste déroulante
Next
'Balayage des item du excel
For Each cellule In ActiveSheet.Range("B2:B10") 'boucle de balayage de toutes les cellules
contenu_cellule_selectionner = Sheets("liste contacts").Cells(cellule.Row, 2)
If contenu_cellule_selectionner <> "" Then 'verifie que la cellule n'est pas vide
'si pas vide on essai de l'ajouter dans la liste_nom : balise_list_nom_zonebox
For Each objCC In docCCs
'Boucle pour balyé tous les item de la liste
Result = 0
For Each objLE In objCC.DropdownListEntries
If objLE.Text <> contenu_cellule_selectionner Then 'verifie que la cellule n'est pas déjà entrer dans la liste
Result = Result
Else
Result = Result + 1
End If
Next
'verifie si l'item existe deja
If Result = 0 Then
'il n'existe pas donc :
objCC.DropdownListEntries.Add contenu_cellule_selectionner
Else
'MsgBox "Liste Nom : l'item existe déjà"
End If
Next 'fin de boucle de la liste des ContentControl avec le balise : balise_list_nom_zonebox
End If 'fin de la verif cellule vide
Next 'fin de boucle de balayage du fichier excel
Else 'pas de ContentControl dans le doc
MsgBox "Erreur dans le document"
End If
'arret de la lecture du fichier excel
MyWorkbook.Close savechanges:=True
Set xlAppList = Nothing
Set MyWorkbook = Nothing
End Sub
Sub mettre_a_jour_liste_nom()
Dim objCC As ContentControl
Dim docCCs As ContentControls
' Get the collection of all content controls with this tag.
ExcelFile = ThisDocument.Path + "\contacts04-09-2015.xls" 'mettre le chemin du fichier
Set xlAppList = CreateObject("Excel.Application")
Set MyWorkbook = xlAppList.Workbooks.Open(ExcelFile, 0, , , "") 'demarrage de la lecture du fichier excel
MyWorkbook.Sheets("liste contacts").Select 'selection de la feuille "liste contacts"
'selectionne tous les ContentControl avec le balise : balise_list_nom_zonebox
Set docCCs = ActiveDocument.SelectContentControlsByTag("balise_list_nom_zonebox")
' If any content controls are found iterate through them and give the type.
If docCCs.Count <> 0 Then 'verifie qu'il y a des ContentControl liste_nom dans le doc
For Each objCC In docCCs
objCC.SetPlaceholderText Text:="coucou"
objCC.DropdownListEntries.Clear ' pour vider la liste déroulante
Next
'Balayage des item du excel
For Each cellule In ActiveSheet.Range("B2:B10") 'boucle de balayage de toutes les cellules
contenu_cellule_selectionner = Sheets("liste contacts").Cells(cellule.Row, 2)
If contenu_cellule_selectionner <> "" Then 'verifie que la cellule n'est pas vide
'si pas vide on essai de l'ajouter dans la liste_nom : balise_list_nom_zonebox
For Each objCC In docCCs
'Boucle pour balyé tous les item de la liste
Result = 0
For Each objLE In objCC.DropdownListEntries
If objLE.Text <> contenu_cellule_selectionner Then 'verifie que la cellule n'est pas déjà entrer dans la liste
Result = Result
Else
Result = Result + 1
End If
Next
'verifie si l'item existe deja
If Result = 0 Then
'il n'existe pas donc :
objCC.DropdownListEntries.Add contenu_cellule_selectionner
Else
'MsgBox "Liste Nom : l'item existe déjà"
End If
Next 'fin de boucle de la liste des ContentControl avec le balise : balise_list_nom_zonebox
End If 'fin de la verif cellule vide
Next 'fin de boucle de balayage du fichier excel
Else 'pas de ContentControl dans le doc
MsgBox "Erreur dans le document"
End If
'arret de la lecture du fichier excel
MyWorkbook.Close savechanges:=True
Set xlAppList = Nothing
Set MyWorkbook = Nothing
End Sub
m@rina
Messages postés
20070
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
24 avril 2024
11 271
8 sept. 2015 à 00:17
8 sept. 2015 à 00:17
Bonjour,
A titre d'info, je ne suis, bizarrement, pas toujours disponible !
Ben oui, j'ai une vie aussi !
m@rina
A titre d'info, je ne suis, bizarrement, pas toujours disponible !
Ben oui, j'ai une vie aussi !
m@rina
madabeach972
Messages postés
9
Date d'inscription
vendredi 12 juin 2015
Statut
Membre
Dernière intervention
8 septembre 2015
>
m@rina
Messages postés
20070
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
24 avril 2024
8 sept. 2015 à 09:30
8 sept. 2015 à 09:30
Bonjour,
Sans problème je ne remet pas votre disponibilité en cause mais l'agressivité de eriic pour une simple sujet.
Au contraire je trouve que vous répondez plutôt souvent, bon même si mon sujet est resté ouvert sur votre forum vu que pas encore de réponse au mystère, mais je reste satisfaite de la composition du forum en général.
Bien a vous. Pour moi ce sujet est "résolu" histoire de clôturer le débat.
Sans problème je ne remet pas votre disponibilité en cause mais l'agressivité de eriic pour une simple sujet.
Au contraire je trouve que vous répondez plutôt souvent, bon même si mon sujet est resté ouvert sur votre forum vu que pas encore de réponse au mystère, mais je reste satisfaite de la composition du forum en général.
Bien a vous. Pour moi ce sujet est "résolu" histoire de clôturer le débat.