Variable tableau / Range("A1:A" & i) = montab - ne fonctionne pas

Variable tableau / Range("A1:A" & i) = montab - ne fonctionne pas - VB/VBA/VBS - Programmation

Marsh Posté le 21-11-2011 à 17:08:50    

Bonjour,
 
Dans une macro EXCEL 2007, j'utilise une variable tableau qui contient du texte.
 
1 - AAAA
2 - BBBB
3 - ABCD
4 - "vide"
5 - "vide"
 
L'expression suivante fonctionne correctement :
 
      For i = 1 To j
      Range("A" & i) = montab(i)
      Next i
 
avec j = 3
 
Mais quand j'écris :
 
Range("A1:A" & j) = montab
 
Il m'affiche uniquement la 1er valeur de montab sur 3 lignes. Je ne vois pas ce qui cloche ?
 
Merci pour vos réponses

Reply

Marsh Posté le 21-11-2011 à 17:08:50   

Reply

Marsh Posté le 21-11-2011 à 18:36:38    

Salut,

Option Explicit
 
Sub Tst()
Dim Ar() As Variant
 
    Ar = Feuil1.Range("A1:A7" )
 
    Feuil1.Range("B1" ).Resize(UBound(Ar, 1), UBound(Ar, 2)) = Ar
End Sub


---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
Reply

Marsh Posté le 23-11-2011 à 23:16:35    

Merci pour la réponse.
 
J'ai essayé : Range("B1" ).Resize(UBound(montab, 1)) = montab (une seule dimension)
 
Le résultat est exactement le même !!
 

Reply

Marsh Posté le 24-11-2011 à 04:05:16    

Salut, comme cela tu ne reviendras pas poser la question , à titre d'exemple pour la concaténation de n feuilles en une seule
 

Option Explicit
 
Sub ConcatenationFeuilles()
Dim i As Long
Dim T() As Variant
    Application.ScreenUpdating = False
    ShConcat.Cells.Clear
    For i = 1 To Sheets.Count
        If Sheets(i).Name <> ShConcat.Name Then
            With Sheets(i)
                T = .Range("A4:J" & .Range("A" & Rows.Count).End(xlUp).Row).Value
                ShConcat.Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(UBound(T, 1), UBound(T, 2)) = T
            End With
        End If
    Next i
    Erase T
    Application.ScreenUpdating = True
End Sub


Message édité par kiki29 le 24-11-2011 à 04:33:47

---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed