Extraction de donnée selectionner
Résolu/Fermé
SARAH
-
11 août 2014 à 15:56
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 13 août 2014 à 07:58
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 13 août 2014 à 07:58
A voir également:
- Extraction de donnée selectionner
- Sélectionner texte pdf - Guide
- Reinstaller windows sans perte de données - Guide
- Comment sélectionner un message sur whatsapp pour y répondre - Guide
- Effacer les données de navigation - Guide
- Sélectionner une extension d'un fichier qui s'ouvre avec un traitement de texte - Guide
3 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
12 août 2014 à 08:41
12 août 2014 à 08:41
Bonjour,
Extrait du site de microsoft :
Si vous définissez le type de sélection sur Multiple ou Étendue, la cellule spécifiée dans la zone Cellule liée renvoie la valeur 0 et est ignorée. Les types de sélections Multiple et Étendue nécessitent l'utilisation du code Microsoft Visual Basic pour Applications (VBA). Dans ce cas, utilisez le contrôle ActiveX de zone de liste.
Il vous faut donc utiliser du code VBA ET un contrôle ListBox Activex.
Nous pouvons vous aider à mettre cela en place, suffit de demander...
Extrait du site de microsoft :
Si vous définissez le type de sélection sur Multiple ou Étendue, la cellule spécifiée dans la zone Cellule liée renvoie la valeur 0 et est ignorée. Les types de sélections Multiple et Étendue nécessitent l'utilisation du code Microsoft Visual Basic pour Applications (VBA). Dans ce cas, utilisez le contrôle ActiveX de zone de liste.
Il vous faut donc utiliser du code VBA ET un contrôle ListBox Activex.
Nous pouvons vous aider à mettre cela en place, suffit de demander...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
12 août 2014 à 14:35
12 août 2014 à 14:35
Les zone de liste sont numérotées elles n'ont pas toutes le même nom.
Il n'y a que des zones de liste dans ta feuille?
Pas de forme, ni d'autres contrôles?
Si ok, voici comment procéder :
1- Ouvrir ton classeur,
2- Te placer sur la feuille contenant toutes tes listes,
3- Taper ALT+F11
4- Insérer un Module standard : menu Insertion/Module
5- Copier-coller ce code dans le module :
6- fermer la fenêtre visual basic pour retourner sur la feuille,
7- taper ALT+F8, choisir "Macro_Toutes_Listes et exécuter
8- tester en cliquant sur une liste au hasard...
L'action 7 ne sera à réaliser qu'une seule fois. En cas d'ajout de liste, il faudra néanmoins le refaire...
ton fichier exemple
Il n'y a que des zones de liste dans ta feuille?
Pas de forme, ni d'autres contrôles?
Si ok, voici comment procéder :
1- Ouvrir ton classeur,
2- Te placer sur la feuille contenant toutes tes listes,
3- Taper ALT+F11
4- Insérer un Module standard : menu Insertion/Module
5- Copier-coller ce code dans le module :
Sub MaListe()
Dim i As Integer, ItemSel As String
With Worksheets("base")
For i = 1 To .ListBoxes(Application.Caller).ListCount
If .ListBoxes(Application.Caller).Selected(i) Then
If i = 1 Then
ItemSel = .ListBoxes(Application.Caller).List(i)
Else
ItemSel = ItemSel & Chr(10) & .ListBoxes(Application.Caller).List(i)
End If
End If
Next i
For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row
If .Rows(i).Top < .ListBoxes(Application.Caller).Top And .Rows(i).Top + .Rows(i).Height > .ListBoxes(Application.Caller).Top Then Exit For
Next
.Range("G" & i).Value = ItemSel
End With
End Sub
Sub Macro_Toutes_Listes()
Dim Shp As Shape, i As Long
i = 1
For Each Shp In ActiveSheet.Shapes
Shp.OnAction = "MaListe"
Next Shp
End Sub
6- fermer la fenêtre visual basic pour retourner sur la feuille,
7- taper ALT+F8, choisir "Macro_Toutes_Listes et exécuter
8- tester en cliquant sur une liste au hasard...
L'action 7 ne sera à réaliser qu'une seule fois. En cas d'ajout de liste, il faudra néanmoins le refaire...
ton fichier exemple
Merci merci merci merci milles fois!!!!
Je suis ravi d'avoir fait appel à vous!
La macro fonctionne, j'ai repris, celle que vous avez mis dans le fichier exemple.
Une derniere question svp, avec cette macro je dois cliquer sur la zone de liste pour que cela me donne les valeurs selectionnées.
Est-il possible de faire la même opération (extraire des données selectionnées) sur des listes déjà saisies?
Merci beaucoup "PIJAKU"
Je suis ravi d'avoir fait appel à vous!
La macro fonctionne, j'ai repris, celle que vous avez mis dans le fichier exemple.
Une derniere question svp, avec cette macro je dois cliquer sur la zone de liste pour que cela me donne les valeurs selectionnées.
Est-il possible de faire la même opération (extraire des données selectionnées) sur des listes déjà saisies?
Merci beaucoup "PIJAKU"
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
13 août 2014 à 07:58
13 août 2014 à 07:58
Bonjour,
De rien.
700 listes, en effet, il fallait faire quelque chose...
Pour ta dernière question, voici la macro souhaitée :
De rien.
700 listes, en effet, il fallait faire quelque chose...
Pour ta dernière question, voici la macro souhaitée :
Sub Boucle_Toutes_Listes()
Dim Shp As Shape, i As Long, ItemSel As String
With ActiveSheet
For Each Shp In .Shapes
For i = 1 To .ListBoxes(Shp.Name).ListCount
If .ListBoxes(Shp.Name).Selected(i) Then
If i = 1 Then
ItemSel = .ListBoxes(Shp.Name).List(i)
Else
ItemSel = ItemSel & Chr(10) & .ListBoxes(Shp.Name).List(i)
End If
End If
Next i
For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row
If .Rows(i).Top < .ListBoxes(Shp.Name).Top And .Rows(i).Top + .Rows(i).Height > .ListBoxes(Shp.Name).Top Then Exit For
Next
.Range("G" & i).Value = ItemSel
Next
End With
End Sub
12 août 2014 à 10:23
merci de votre réponse.
je n'ai pas réaliser ma liste à partir de VBA est-ce possible dans retirer tout de même les informations?
Cordialement
12 août 2014 à 10:28
Pouvez vous me donner l'adresse des cellules liées? Style : B1:B15
12 août 2014 à 10:44
donc j'ai simplement inscrit les données que je voulais voir apparaitre dans ma liste, dans la plage d'entrée.
Je n'ai pas de cellule lié.
12 août 2014 à 10:45
12 août 2014 à 10:50