Scripting Dictionary (même item sur différentes keys)
Résolu/Fermé
Identifiant_Anonyme
Messages postés
12
Date d'inscription
vendredi 9 mai 2014
Statut
Membre
Dernière intervention
20 juin 2014
-
19 juin 2014 à 16:55
michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 20 juin 2014 à 10:15
michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 20 juin 2014 à 10:15
A voir également:
- Scripting Dictionary (même item sur différentes keys)
- Comment faire arobase sur clavier logitech mx keys ✓ - Forum Clavier
- Winfo keys - Télécharger - Récupération de données
- Pebble keys 2 k380s mode d'emploi - Forum Clavier
- Sticky keys - Guide
- Printer reset keys gratuit ✓ - Forum Imprimante
2 réponses
Identifiant_Anonyme
Messages postés
12
Date d'inscription
vendredi 9 mai 2014
Statut
Membre
Dernière intervention
20 juin 2014
1
20 juin 2014 à 08:56
20 juin 2014 à 08:56
Bonjour,
Je ne m'attendais pas à une réponse si rapide... Merci.
Mon codage ne devait pas être très bon (pusique tu l'as modifié), je vais donc essayer de comprendre les éléments qui me sont inconnus (Redim et UBound, au moins), et ensuite j'essayerais de continuer.
Merci beaucoup, déjà, c'est très aimable.
Je place en Résolu et reviendrai éventuellement si je bloque encore.
I:I
Je ne m'attendais pas à une réponse si rapide... Merci.
Mon codage ne devait pas être très bon (pusique tu l'as modifié), je vais donc essayer de comprendre les éléments qui me sont inconnus (Redim et UBound, au moins), et ensuite j'essayerais de continuer.
Merci beaucoup, déjà, c'est très aimable.
Je place en Résolu et reviendrai éventuellement si je bloque encore.
I:I
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
Modifié par michel_m le 19/06/2014 à 22:21
Modifié par michel_m le 19/06/2014 à 22:21
Bonjour,
une alternative:
Ci joint proposition donnant les pays par villes ( les clés du dico sont les villes)
https://www.cjoint.com/?3FtwpBgsD7L
Attention à la casse dans "dans le pays ....."
la macro (on devrait peut-^tre aller + vite mais...)
une alternative:
Ci joint proposition donnant les pays par villes ( les clés du dico sont les villes)
https://www.cjoint.com/?3FtwpBgsD7L
Attention à la casse dans "dans le pays ....."
la macro (on devrait peut-^tre aller + vite mais...)
Option ExplicitMichel
Option Base 1
Sub lister_Pays_par_ville()
Dim Nbre As Integer
Dim T_pays, Cptr_a As Integer, Lig As Long
Dim D_ville As Object, Cptr_b As Integer, Ville As String
'initialisations
Application.ScreenUpdating = False
Range("G2:H1000").Clear
Set D_ville = CreateObject("scripting.dictionary")
Nbre = Application.CountIf(Columns("A"), "*dans le pays*")
ReDim T_pays(Nbre, 3)
Lig = Rows.Count
For Cptr_a = 1 To Nbre
'limites par pays
Lig = Columns("A").Find("dans le pays", Cells(Lig, "A")).Row
T_pays(Cptr_a, 1) = Lig
If Cptr_a = UBound(T_pays) Then
T_pays(Cptr_a, 2) = Columns("A").Find("*", , , , , xlPrevious).Row
Else
T_pays(Cptr_a, 2) = Columns("A").Find("dans le pays", Cells(Lig, "A")).Row
End If
'nom pays 'SENSIBLE A LA CASSE
T_pays(Cptr_a, 3) = Application.Substitute(Cells(Lig, "A"), "dans le pays ", "")
'affectations au dictionary
For Cptr_b = T_pays(Cptr_a, 1) To T_pays(Cptr_a, 2)
Ville = Cells(Cptr_b, "B")
If Ville <> "" Then
If Not D_ville.exists(Ville) Then
D_ville.Add Ville, T_pays(Cptr_a, 3) & " "
Else
D_ville.Item(Ville) = D_ville.Item(Ville) & T_pays(Cptr_a, 3) & " "
'test = D_ville.Item(Ville)
End If
End If
Next
Next
'restitution pays par ville
Range("G2").Resize(D_ville.Count, 1) = Application.Transpose(D_ville.Keys)
Range("H2").Resize(D_ville.Count, 1) = Application.Transpose(D_ville.items)
End Sub
--
20 juin 2014 à 10:15
Je ne m'attendais pas à une réponse si rapide... Merci.
Le problème m'avait branché ;o)
pour des explications sur Ubound et Redim voir ce tuto très complet
https://silkyroad.developpez.com/vba/tableaux/