Extraction de donnée selectionner
Résolu
SARAH
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
A voir également:
- Extraction de donnée selectionner
- Selectionner texte sur pdf - Guide
- Comment sélectionner un message sur whatsapp pour y répondre - Guide
- Supprimer les données de navigation - Guide
- Comment selectionner toutes les photos dans google photo - Guide
- Sélectionner une extension correspondant à un fichier de présentation diaporama ✓ - Forum Powerpoint
3 réponses
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...
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"
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
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
Pouvez vous me donner l'adresse des cellules liées? Style : B1:B15
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é.