Re: Ecriture d'un résultat en ligne

Le
bibi
Re bonjour
la formule donnée ci dessous ne fonctionne pas comme je l'entends. Elle
renvoie bien le résultat
en ligne. Toutefois, elle ne renvoie que le résultat du premier indice de
l'array ,
mais répété x fois !
Exemple
Lundi, lundi, lundi, lundi
au lieu de
lundi, matin, midi, soir

Merci d'avance de votre aide


Andrew
>
>>
>> "michdenis" <michdenis@hotmail.com> a écrit dans le message de
>> news:OYY3FiqjJHA.4028@TK2MSFTNGP03.phx.gbl
>>> Range("B1:B" & UBound(MyArray) + 1) = MyArray
>>>
>>>
>>>
>>> "bibi" <anducrot@hotmail.com> a écrit dans le message de groupe de
>>> discussion :
>>> 4996c494$1_6@news.bluewin.ch
>>> bonjour à toutes et à tous
>>>
>>> j'ai trouvé une fonction sur internet qui permet de trier dans un
>>> tableau
>>> Array des données de type variant ou autre. Cette macro fonctionne
>>> parfaitement et se termine par cette dernière instruction
>>>
>>> Range("B1:B" & UBound(MyArray) + 1) =
>>> WorksheetFunction.Transpose(MyArray)
>>>
>>> et j'obtiens un résultat " Vertical" c'est-à-dire dans une colonne alors
>>> que
>>> j'aimerais résultat s'écrive sur un ligne.
>>>
>>> Je ne sais pas comment modifié mon code.
>>>
>>> Avec mes remerciements
>>>
>>> Andrew
>>>
>>
> "michdenis" <michdenis@hotmail.com> a écrit dans le message de
> news:OYY3FiqjJHA.4028@TK2MSFTNGP03.phx.gbl
>> Range("B1:B" & UBound(MyArray) + 1) = MyArray
>>
>>
>>
>> "bibi" <anducrot@hotmail.com> a écrit dans le message de groupe de
>> discussion :
>> 4996c494$1_6@news.bluewin.ch
>> bonjour à toutes et à tous
>>
>> j'ai trouvé une fonction sur internet qui permet de trier dans un
>> tableau
>> Array des données de type variant ou autre. Cette macro fonctionne
>> parfaitement et se termine par cette dernière instruction
>>
>> Range("B1:B" & UBound(MyArray) + 1) =
>> WorksheetFunction.Transpose(MyArray)
>>
>> et j'obtiens un résultat " Vertical" c'est-à-dire dans une colonne alors
>> que
>> j'aimerais résultat s'écrive sur un ligne.
>>
>> Je ne sais pas comment modifié mon code.
>>
>> Avec mes remerciements
>>
>> Andrew
>>
>
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
François
Le #18680731
> Re bonjour
la formule donnée ci dessous ne fonctionne pas comme je l'entends. Elle
renvoie bien le résultat
en ligne. Toutefois, elle ne renvoie que le résultat du premier indice de
l'array ,
mais répété x fois !
Exemple
Lundi, lundi, lundi, lundi
au lieu de
lundi, matin, midi, soir



Merci d'avance de votre aide



Bonjour,

Si tu n'avais pas créé un nouveau fil, je pense que tu aurais vu la
réponse de JB.
;-)

--
Amicalement

Si Superman est vraiment intelligent, pourquoi met-il son slip sur son
pantalon?
michdenis
Le #18680511
Écoute Bibi, Tu peux faire un copier-coller du message de ta première intervention,
tu ne fais pas avancer ta cause :

| Range("B1:B" & UBound(MyArray) + 1) = WorksheetFunction.Transpose(MyArray)
Ta question originale faisait référence à un tableau à UNE DIMENSION

D'où l'exemple que je t'ai donné : Tableau : UNE DIMENSION
'----------------------------------
Sub test()
Dim MyArr()
MyArr = Array("denis", "Diane", "Lise")
Range("A1").Resize(, UBound(MyArr) + 1) = MyArr
End Sub
'----------------------------------

Si ton tableau représente par exemple une colonne de données
de ta feuille de calcul et que tu veuilles la copier sur une seule
ligne, ton tableau est UN TABLEAU À 2 DIMENSIONS et cela
modifie la ligne de code à utiliser :

Ta ligne de code origninal :
| Range("B1:B" & UBound(MyArray) + 1) = WorksheetFunction.Transpose(MyArray)
Correction à appliquer :
Range("B1").Resize(, UBound(MyArray, 1)) = Application.Transpose(MyArray)
bibi
Le #18680191
Avec toutes mes excuses aux membre de ce forum

Si j'ai envoyé plusieurs fois le même message, ce provient du fait que je ne
" les voyais pas" et j'ai par conséquent j'ai fait un nouvel envoi.
Je sais que ce groupe a des partenaires solides et je voulais surtout pas
les gèner

Désoéà pour le désagrément causé

Andrew alias bibi

Je pense à particulier Michedenis

"michdenis" news:
Écoute Bibi, Tu peux faire un copier-coller du message de ta première
intervention,
tu ne fais pas avancer ta cause :

| Range("B1:B" & UBound(MyArray) + 1) =
WorksheetFunction.Transpose(MyArray)
Ta question originale faisait référence à un tableau à UNE DIMENSION

D'où l'exemple que je t'ai donné : Tableau : UNE DIMENSION
'----------------------------------
Sub test()
Dim MyArr()
MyArr = Array("denis", "Diane", "Lise")
Range("A1").Resize(, UBound(MyArr) + 1) = MyArr
End Sub
'----------------------------------

Si ton tableau représente par exemple une colonne de données
de ta feuille de calcul et que tu veuilles la copier sur une seule
ligne, ton tableau est UN TABLEAU À 2 DIMENSIONS et cela
modifie la ligne de code à utiliser :

Ta ligne de code origninal :
| Range("B1:B" & UBound(MyArray) + 1) =
WorksheetFunction.Transpose(MyArray)
Correction à appliquer :
Range("B1").Resize(, UBound(MyArray, 1)) = Application.Transpose(MyArray)




bibi
Le #18679891
Re bonjour Michdenis

Le code ci-dessous marche absolument comme je le souhaite

merci de ta patience

Bibi

qui a laissé partir le dernier message avec d' ENORMES fautes tant il était
fâché contre lui


"bibi" news:499834f8$
Avec toutes mes excuses aux membre de ce forum

Si j'ai envoyé plusieurs fois le même message, ce provient du fait que je
ne " les voyais pas" et j'ai par conséquent j'ai fait un nouvel envoi.
Je sais que ce groupe a des partenaires solides et je voulais surtout pas
les gèner

Désoéà pour le désagrément causé

Andrew alias bibi

Je pense à particulier Michedenis

"michdenis" news:
Écoute Bibi, Tu peux faire un copier-coller du message de ta première
intervention,
tu ne fais pas avancer ta cause :

| Range("B1:B" & UBound(MyArray) + 1) =
WorksheetFunction.Transpose(MyArray)
Ta question originale faisait référence à un tableau à UNE DIMENSION

D'où l'exemple que je t'ai donné : Tableau : UNE DIMENSION
'----------------------------------
Sub test()
Dim MyArr()
MyArr = Array("denis", "Diane", "Lise")
Range("A1").Resize(, UBound(MyArr) + 1) = MyArr
End Sub
'----------------------------------

Si ton tableau représente par exemple une colonne de données
de ta feuille de calcul et que tu veuilles la copier sur une seule
ligne, ton tableau est UN TABLEAU À 2 DIMENSIONS et cela
modifie la ligne de code à utiliser :

Ta ligne de code origninal :
| Range("B1:B" & UBound(MyArray) + 1) =
WorksheetFunction.Transpose(MyArray)
Correction à appliquer :
Range("B1").Resize(, UBound(MyArray, 1)) = Application.Transpose(MyArray)







Publicité
Poster une réponse
Anonyme