Optimisation simple attribution valeurs

Bonjour à tous

Existe t-il une solution simple permettant d'optimiser ce code ?

Sub Macro1()

Sheets(1).Range("A1") = "rouge"
Sheets(1).Range("A2") = "bleu"
Sheets(1).Range("A3") = "jaune"
Sheets(1).Range("A4") = "vert"
Sheets(1).Range("A5") = "maison"
Sheets(1).Range("A6") = "vélo"
Sheets(1).Range("A7") = "orange"
Sheets(1).Range("A8") = "ville"
Sheets(1).Range("A9") = "soleil"
Sheets(1).Range("A10") = "pistache"

End Sub

Je cherche à attribuer plusieurs valeurs à plusieurs cellules sans avoir à les recopier une à une et sans avoir à copier coller les données depuis une autre feuille, je pense qu'il doit exister une solution simple mais je ne trouve rien...

Bonne journée

Bonjour

Je cherche à attribuer plusieurs valeurs à plusieurs cellules sans avoir à les recopier une à une et sans avoir à copier coller les données depuis une autre feuille, je pense qu'il doit exister une solution simple mais je ne trouve rien.

Peux tu donner un peu plus d'explication et joindre un exemple de ton fichier

Crdlt

Bonjour,

J'ai joint un exemple de fichier, je vais essayer d'être plus clair, je souhaite attribuer plusieurs valeurs à plusieurs cellules comme tu peux le voir sur la macro, ma question est la suivante: existe t-il une solution plus rapide afin d'optimiser ce code ? Je pensais à un code du genre:

sheets(1).range("A1:A18")= "rouge", "bleu", "jaune", "vert", "maison", "vélo", "orange", "ville", "soleil", "pistache", "banane", "fraise", "chocolat", "vanille", "arbre", "pomme", "football", "tennis"

Je souhaiterais écrire dans A1: rouge, dans A2: bleu, dans A3: jaune, etc...

Ce code ne fonctionne évidemment pas et je ne trouve pas la solution

Cela me permettrait de copier/coller mes valeurs à la suite directement dans le code plutôt que de les saisir cellule par cellule.

J'espère avoir été plus clair

Bonne journée

5exemple2.xlsm (20.18 Ko)

Bonjour

Je viens de tester ton fichier,la macro fonctionne bien .

Efface la colonne A et d’éclanche la macro ,tu verras ça marche.

Bonjour,

Oui en effet, mais dans ma macro j'ai saisie le code ainsi (cellule par cellule):

Sheets(1).Range("A1") = "rouge"
Sheets(1).Range("A2") = "bleu"
Sheets(1).Range("A3") = "jaune"
Sheets(1).Range("A4") = "vert"
Sheets(1).Range("A5") = "maison"
Sheets(1).Range("A6") = "vélo"
Sheets(1).Range("A7") = "orange"
Sheets(1).Range("A8") = "ville"
Sheets(1).Range("A9") = "soleil"
Sheets(1).Range("A10") = "pistache"
Sheets(1).Range("A11") = "banane"
Sheets(1).Range("A12") = "fraise"
Sheets(1).Range("A13") = "chocolat"
Sheets(1).Range("A14") = "vanille"
Sheets(1).Range("A15") = "arbre"
Sheets(1).Range("A16") = "pomme"
Sheets(1).Range("A17") = "football"
Sheets(1).Range("A18") = "tennis"

J'ai bien peur que mon PC ait du mal si je saisie plus de 600 cellules ainsi, il n'existe peut être pas de solution plus facile finalement...

De toute façon tu vas devoir rentrer tes conditions pour toutes tes cellules.

Je ne vois pas en ce qui me concerne d'autre solution que ce que tu as déjà mis en place.

Désolé

Cordialement

bonjour,

une possibilité

liste = "rouge, bleu, jaune, vert, maison, vélo, orange, ville, soleil, pistache, banane, fraise, chocolat, vanille, arbre, pomme, football, tennis"
Sheets(1).Range("A1:A18") = Application.Transpose(Split(liste, ","))

ou

liste = Array("rouge", "bleu", "jaune", "vert", "maison", "vélo", "orange", "ville", "soleil", "pistache", "banane", "fraise", "chocolat", "vanille", "arbre", "pomme", "football", "tennis")
Sheets(1).Range("A1:A18") = Application.Transpose(liste)

Super, merci beaucoup c'est exactement ce que je cherchais

Rechercher des sujets similaires à "optimisation simple attribution valeurs"