VBAFonctioArray

Résolu/Fermé
ines009 Messages postés 25 Date d'inscription mardi 16 novembre 2010 Statut Membre Dernière intervention 1 février 2011 - Modifié par ines009 le 20/01/2011 à 13:13
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 20 janv. 2011 à 17:27
Bonjour,

Ma macro ci-dessous elle marche bien, mais j'arrive pas à utiliser un Array pour réduire le code(le nombre de lignes c un peu long)

je veux juste afficher Nicolas en J1, .......


Range("J1").Select
ActiveCell.FormulaR1C1 = "Nicolas"
Range("K1").Select
ActiveCell.FormulaR1C1 = "André"
Range("L1").Select
ActiveCell.FormulaR1C1 = "Katia"
Range("M1").Select
ActiveCell.FormulaR1C1 = "Cindy"
Range("N1").Select
ActiveCell.FormulaR1C1 = "Emilie"
Range("O1").Select
ActiveCell.FormulaR1C1 = "Youssef"
Range("P1").Select
ActiveCell.FormulaR1C1 = "Marion"
Range("Q1").Select
ActiveCell.FormulaR1C1 = "Fred"
Range("R1").Select
ActiveCell.FormulaR1C1 = "Sami"
Range("S1").Select
ActiveCell.FormulaR1C1 = "Camille"
Range("T1").Select
ActiveCell.FormulaR1C1 = "Kati"
Range("U1").Select
ActiveCell.FormulaR1C1 = "Jorge"
Range("V1").Select
ActiveCell.FormulaR1C1 = "Lionel"
Range("W1").Select
ActiveCell.FormulaR1C1 = "Dounia"
Range("X1").Select
ActiveCell.FormulaR1C1 = "Joseph"
Range("Y1").Select
ActiveCell.FormulaR1C1 = "Nico"
Range("Z1").Select
ActiveCell.FormulaR1C1 = "Samir"
Range("AA1").Select
ActiveCell.FormulaR1C1 = "Leila"

Merci à tous pour votre aide

4 réponses

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 191
Modifié par lermite222 le 20/01/2011 à 13:53
Bonjour,
Sub TT() 
Dim Col As Integer, TB 
    TB = Array("Nicolas", "André", "Katia", "Cindy", "Emilie", "Youssef", "Marion", "Fred", "Sami", "Camille", "Kati", "Jorge", "Lionel") 
    For Col = 0 To UBound(TB) 
        Cells(1, Col + 10) = TB(Col) 
    Next 
End Sub 

A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
0
ines009 Messages postés 25 Date d'inscription mardi 16 novembre 2010 Statut Membre Dernière intervention 1 février 2011
20 janv. 2011 à 15:09
Merci Lermite222, c ce que je voulais.

si jpeux me permettre

Range("C20:C & imax").Select
ca ca marche pas à cause du C & imax(Range("C20:Cimax").Select non plus)
, et je vois pas comment faire autrement.
imax, c une variable c dans une boucle.

Merci pour tes réponses.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 753
Modifié par pijaku le 20/01/2011 à 15:56
Bonjour,
Excusez l'incruste...
Bonjour à Lermitte222
La question 2 étant sans rapport évident avec la question 1 il eut été judicieux d'expliquer un peu ou de mettre le code complet...
Ceci étant, pour sélectionner une plage de cellule avec le nombre de lignes variables, la "bonne syntaxe" serait :
Range("C20:C" & imax).Select

voir :
Range(Cells(20, 3), Cells(imax, 3)).Select

en clair : Range(cellule_de_début, cellule_de_fin)
0
ines009 Messages postés 25 Date d'inscription mardi 16 novembre 2010 Statut Membre Dernière intervention 1 février 2011
20 janv. 2011 à 16:28
Merci à vous deux, c sympa.
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 191
20 janv. 2011 à 17:27
Re,
     Range("C20:C" & Cimax).Select

Fonctionne aussi
0