phdenis | kiki29 a écrit :
Salut, ceci n'est qu'un exemple pour la concatenation de x feuilles d'un classeur dans une feuille dont le CodeName est ShConcat du même classeur, à toi de l'adapter à ton contexte
Option Explicit
Sub ConcatenationFeuilles()
Dim i As Long, 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 |
|
Bonjour,
Effectivement, je vais regarder ton exemple mais pour en revenir au 1er point de mon problème, je cherche à savoir si il est possible de modifier le texte de plusieurs cellules en passant par un tableau.
Car j'ai déjà une solution mais je cherche quelque chose de plus élégant et plus efficace (le texte Legendx est un texte bidon): - Cellule A1 = "Legend1"
- Cellule B1 = "Legend2"
- Cellule C1 = "Legend3"
- Cellule D1 = "Legend4"
- Cellule E1 = "Legend5"
Code :
- ' Declare a range
- Dim MyRang as Range
- ' Define a range
- Set MyRang = Range("A1" )
-
- ' For each cell, sets the associated value
- With MyRang
- .Value = "Legend1"
- .Offset(0, 1).Value = "Legend2"
- .Offset(0, 2).Value = "Legend3"
- .Offset(0, 3).Value = "Legend4"
- .Offset(0, 4).Value = "Legend5"
- End With
|
|