XL 2016 Macro pour répliquer saisie multiple

  • Initiateur de la discussion Initiateur de la discussion Saumon80
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Saumon80

XLDnaute Occasionnel
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".

Merci d'avance
 

Pièces jointes

Bonsoir.
Dans le classeur joint je ne vois qu'une couleur orange partout alors que dans une colonne intitulée "Couleur" je vois les mots "Vert1" à "Vert32"
Ce n'est vraiment pas clair tout ça.
Cette fourniture pourrait peut être vous aider pour mettre au point un jeu de 32 couleurs en par exemple 8 teintes (A: angle) déclinées en 4 luminosités (E: énergie). Elle possède aussi un module de classe Couleur qui pourrait calculer un code de couleur en fonction des propriétés E, A et F ou E, H et J données.
 
Cela dit si seuls les textes vous intéressent :
En B2, à propager sur 12800 lignes :
Code:
="Rouen"&ENT((LIGNE()-2)/32)+1
En C2, à propager sur 12800 lignes et 2 colonnes :
Code:
=INDEX(Sheet2!$A$2:$B$33;MOD(LIGNE()-2;32)+1;COLONNE()-2)
 
Merci beaucoup Dranreb pour votre réponse.

En effet c'est confus. En fait la couleur n'est pas importante , les mots vert1 a vert32 sont juste des remplacements pour des noms . La couleur orange était juste pour mettre en avant ce que je souhaite répliquer.

J'ai essaye le code mais il ne marche pas dans mon fichier , vous serait il possible de l'ajouter dans le fichier directement ?

Merci d'avance
 
Merci , j ai mis le code dans VBA il marche mais le résultat n'est pas exactement ce que je recherche car cela applique les valeur qui devrait être en colonne 4 en colonne 2.

En fait je souhaites appliquer la liste en sheet 2 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.

Merci encore je pense qu il faut just une petite modification au niveau du code.

Je joint le fichier.
 

Pièces jointes

Alors :
VB:
Sub ABCD()
   Dim LigFin As Long, NbLig As Long
   LigFin = Sheet4.[B1000000].End(xlUp).Row: NbLig = LigFin - 1
   Sheet1.[A2].Resize(NbLig * 32, 2).FormulaR1C1 = "=INDEX(Sheet4!R2C1:R" & LigFin & "C2,INT((ROW()-2)/32+1),COLUMN())"
   Sheet1.[C2].Resize(NbLig * 32, 2).FormulaR1C1 = "=INDEX(Sheet2!R2C1:R33C2,MOD(ROW()-2,32)+1,COLUMN()-2)"
   End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
132
Réponses
3
Affichages
414
Réponses
4
Affichages
441
  • Question Question
Microsoft 365 Bug sur une macro
Réponses
6
Affichages
382
Retour