Macro pour répliquer une saisie multiple

Bonjour ,

Je suis novice avec VBA et je souhaite faire une operation en apparence simple avec une Macro.

J'ai une liste de 400 villes et je souhaites pour chaque ville associer une liste de 32 couleurs avec pour chaque couleur une valeur associe.

La liste des 32 couleurs avec une valeur ne change pas. Comment puis-je créer une boucle pour générer cette liste d'environ 12,000 valeurs sur Excel ?

Je joint le fichier example.

Je souhaite en fait pour chaque ville associer les 32 couleurs et valeurs comme pour la plage en couleur pour la ville "Rouen1".

9book5.xlsx (16.29 Ko)

Merci d'avance

Salut Saumon,

facile mais, puisque, si j'ai bien compris, les couleurs et leurs valeurs associées sont identiques pour chaque ville, pourquoi diable s'échiner à établir cette liste ?
Il suffira de repiquer sur cette liste indépendante (et modifiable aisément) pour attribuer les valeurs ou la couleur, le cas échéant...

Non ?


A+

Merci pour votre réponse.

Oui en effet mais je ne vois pas comment le faire .

Je souhaite associer cette liste a mes 400 villes présentes dans le premier onglet mais je ne vois pas comment faire.

Merci d'avance,

Cordialement

Salut Saumon,

... en expliquant ce que tu veux faire, clairement et complètement, avec éventuellement (c'est encore mieux même !) un fichier illustrant le résultat souhaité, afin que NOUS comprenions tes objectifs pour te proposer la meilleure solution !


A+

Merci Curulis57 pour ton aide.

En fait je souhaites appliquer la liste fixe en Sheet 2 (2 colonnes et 32 valeurs qui ne changent pas) a toutes les 400 villes de la Sheet4.

Cela devrait donner un résultat comme en Sheet3 ou j'ai applique la liste aux 2 premieres villes.

Du coup il y aurait le pays en colonne 1 qui ne change pas = FRANCE, en colonne 2 la ville (environ 400 différentes), en colonne 3 & 4 il y aurait la liste fixe (Sheet2) qui serait donc applique a chacune des 400 villes. De fait il y aurait environ 12,000 lignes.

Je joint le fichier pour plus de clarté .

7book5.xlsm (248.56 Ko)

Salut Saumon,

tu m'excuseras d'encore douter de la pertinence de ta demande, mais bon, voilà...
Un double-clic sur la feuille 'Liste' démarre la macro.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Dim tCity, tColor, tCombi(), iIdx%
'
Application.ScreenUpdating = False
Cells.Delete
'
With Worksheets("Villes")
    tCity = .Range("A2:B" & .Range("A" & Rows.Count).End(xlUp).Row).Value
End With
With Worksheets("Couleurs")
    tColor = .Range("A2:B" & .Range("A" & Rows.Count).End(xlUp).Row).Value
End With
'
ReDim tCombi(UBound(tColor, 1) * UBound(tCity, 1), 4)
[A1].Resize(1, 4) = Array("Pays", "Villes", "Couleurs", "Valeurs")
For x = 1 To UBound(tCity, 1)
    For y = 1 To UBound(tColor, 1)
        iIdx = iIdx + 1
        tCombi(iIdx - 1, 0) = tCity(x, 1)
        tCombi(iIdx - 1, 1) = tCity(x, 2)
        tCombi(iIdx - 1, 2) = tColor(y, 1)
        tCombi(iIdx - 1, 3) = tColor(y, 2)
    Next
Next
Range("A2").Resize(UBound(tCombi, 1), 4).Value = tCombi
Application.ScreenUpdating = True
'
End Sub


A+

4book5.xlsm (25.22 Ko)
Rechercher des sujets similaires à "macro repliquer saisie multiple"