reprendre le format et la valeur d'une série de cellule en VBA
1 réponse
phoon
Bonjour,
Je dois copier d'un fichier à un autres plusieurs collone de données.
Les données ne sont pas dans le même ordre dans les deux fichiers
Alors avec une boucle et un tableau, je "prélève" les valeur
var1(1)=selection.offset(0,0).value
var2(2)=selection.offset(1,0).value
ect
puis les colle par la même méthode dans le 2ème fichier
Comment transférerle FORMAT en plus de la valeur
Merci d'avance
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour phoon,
Voici une façon de faire pour copier un ordre particulier de colonnes d'une feuille vers un autre. Le principe demeure le même dans le cas où les classeurs sont différents.
Tu vas devoir ajouter un peu de code, si tu tiens à ce que la hauteur et la largeur des colonnes soient la même dans la plage de destinatiion que celle de la plage source. Les autres caractéristiques "Format" des cellules devraient suivre.
'------------------------------------- Sub Copie()
'Var = Les colonnes 6,3,1,5,4,2 l'ordre des 'colonnes de ta source que tu veux copier
Dim Var As Variant, Elt As Variant Var = Array(6, 3, 1, 5, 4, 2)
'Var1 = Les colonnes de la plage de destination ' Var Colonne 6 sera copier dans colonne Var1 colonne x ' Var Colonne 2 sera copier dans colonne Var1 colonne x1 Dim Var1 As Variant, X As Integer Var1 = Array(1, 2, 3, 4, 5, 6)
For Each Elt In Var With Worksheets("Feuil1") .Range(.Cells(1, Elt), .Cells(.Cells(65536, Elt).End(xlUp).Row, Elt)).Copy _ Worksheets("Feuil2").Cells(1, Var1(X)) X = X + 1 End With Next
End Sub '-------------------------------------
Salutations!
"phoon" a écrit dans le message de news: Bonjour, Je dois copier d'un fichier à un autres plusieurs collone de données. Les données ne sont pas dans le même ordre dans les deux fichiers Alors avec une boucle et un tableau, je "prélève" les valeur var1(1)=selection.offset(0,0).value var2(2)=selection.offset(1,0).value ect puis les colle par la même méthode dans le 2ème fichier
Comment transférerle FORMAT en plus de la valeur Merci d'avance
Bonjour phoon,
Voici une façon de faire pour copier un ordre particulier de colonnes d'une feuille vers un autre.
Le principe demeure le même dans le cas où les classeurs sont différents.
Tu vas devoir ajouter un peu de code, si tu tiens à ce que la hauteur et la largeur des colonnes soient la même dans la plage de
destinatiion que celle de la plage source. Les autres caractéristiques "Format" des cellules devraient suivre.
'-------------------------------------
Sub Copie()
'Var = Les colonnes 6,3,1,5,4,2 l'ordre des
'colonnes de ta source que tu veux copier
Dim Var As Variant, Elt As Variant
Var = Array(6, 3, 1, 5, 4, 2)
'Var1 = Les colonnes de la plage de destination
' Var Colonne 6 sera copier dans colonne Var1 colonne x
' Var Colonne 2 sera copier dans colonne Var1 colonne x1
Dim Var1 As Variant, X As Integer
Var1 = Array(1, 2, 3, 4, 5, 6)
For Each Elt In Var
With Worksheets("Feuil1")
.Range(.Cells(1, Elt), .Cells(.Cells(65536, Elt).End(xlUp).Row, Elt)).Copy _
Worksheets("Feuil2").Cells(1, Var1(X))
X = X + 1
End With
Next
End Sub
'-------------------------------------
Salutations!
"phoon" <phoon@discussions.microsoft.com> a écrit dans le message de news: 750AEE5B-2A9E-4805-9A95-A5D5BB978329@microsoft.com...
Bonjour,
Je dois copier d'un fichier à un autres plusieurs collone de données.
Les données ne sont pas dans le même ordre dans les deux fichiers
Alors avec une boucle et un tableau, je "prélève" les valeur
var1(1)=selection.offset(0,0).value
var2(2)=selection.offset(1,0).value
ect
puis les colle par la même méthode dans le 2ème fichier
Comment transférerle FORMAT en plus de la valeur
Merci d'avance
Voici une façon de faire pour copier un ordre particulier de colonnes d'une feuille vers un autre. Le principe demeure le même dans le cas où les classeurs sont différents.
Tu vas devoir ajouter un peu de code, si tu tiens à ce que la hauteur et la largeur des colonnes soient la même dans la plage de destinatiion que celle de la plage source. Les autres caractéristiques "Format" des cellules devraient suivre.
'------------------------------------- Sub Copie()
'Var = Les colonnes 6,3,1,5,4,2 l'ordre des 'colonnes de ta source que tu veux copier
Dim Var As Variant, Elt As Variant Var = Array(6, 3, 1, 5, 4, 2)
'Var1 = Les colonnes de la plage de destination ' Var Colonne 6 sera copier dans colonne Var1 colonne x ' Var Colonne 2 sera copier dans colonne Var1 colonne x1 Dim Var1 As Variant, X As Integer Var1 = Array(1, 2, 3, 4, 5, 6)
For Each Elt In Var With Worksheets("Feuil1") .Range(.Cells(1, Elt), .Cells(.Cells(65536, Elt).End(xlUp).Row, Elt)).Copy _ Worksheets("Feuil2").Cells(1, Var1(X)) X = X + 1 End With Next
End Sub '-------------------------------------
Salutations!
"phoon" a écrit dans le message de news: Bonjour, Je dois copier d'un fichier à un autres plusieurs collone de données. Les données ne sont pas dans le même ordre dans les deux fichiers Alors avec une boucle et un tableau, je "prélève" les valeur var1(1)=selection.offset(0,0).value var2(2)=selection.offset(1,0).value ect puis les colle par la même méthode dans le 2ème fichier
Comment transférerle FORMAT en plus de la valeur Merci d'avance