Macro Excel pour copier une cell par colonne
Fermé
nikho123
Messages postés
7
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
3 février 2009
-
30 juil. 2008 à 21:29
nikho123 - 31 juil. 2008 à 10:09
nikho123 - 31 juil. 2008 à 10:09
A voir également:
- Macro Excel pour copier une cell par colonne
- Déplacer une colonne excel - Guide
- Formule somme excel colonne - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Trier colonne excel - Guide
- Liste déroulante excel - Guide
3 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 711
30 juil. 2008 à 22:47
30 juil. 2008 à 22:47
bonjour
Tu as plusieurs solutions pour y arriver et je te propose une formule simple pour débuter:
En fonction de la colonne B tu recopies la colonne A dans C, D ou E
Tu as plusieurs solutions pour y arriver et je te propose une formule simple pour débuter:
Dim decal As Integer Dim lig As Long For lig = 2 To 5 Select Case Cells(lig, 2) Case "Grande" decal = 2 Case "Petite" decal = 3 Case "Moyenne" decal = 4 End Select Cells(lig, 1).Offset(0, decal).Value = Cells(lig, 1).Value Next lig
En fonction de la colonne B tu recopies la colonne A dans C, D ou E
Bonjour,
J 'envoie le code que j'ai déja effectué (c'est peut etre pas parfait mais ca marche).
Private Sub calculer_click()
'
' BDD Macro
Dim TabTemp As Variant
Dim L As Long, LigDebFich As Long
Application.ScreenUpdating = False
'Charge les données dans un tableau variant temporaire
With Sheets("BDD")
L = .Range("A65536").End(xlUp).Row
TabTemp = .Range(.Cells(10, 1), .Cells(L, 7)).Value
End With
With Sheets("PORT_MODELE")
'Effacer l' ancien portefeuille modèle
.Range("A10:D65000").Delete shift:=xlUp
.Range("G10:G65000").Delete shift:=xlUp
.Range("K10:K65000").Delete shift:=xlUp
'Pour chaque ligne de données
For L = 1 To UBound(TabTemp, 1)
LigDebFich = 10 + 1 * L
'Insertion des données...
'Le pourcentage détenu en portefeuille
.Cells(LigDebFich + 1, 3).Value = TabTemp(L, 7)
'Le code ISIN
.Cells(LigDebFich + 1, 1).Value = TabTemp(L, 1)
'Le libellé
.Cells(LigDebFich + 1, 2).Value = TabTemp(L, 2)
'La Taille de capitalisation
.Cells(LigDebFich + 1, 4).Value = TabTemp(L, 5)
'Le Style de gestion
.Cells(LigDebFich + 1, 8).Value = TabTemp(L, 6)
'La zone géographique
.Cells(LigDebFich + 1, 12).Value = TabTemp(L, 4)
Next L
Application.CutCopyMode = False
End With
Application.ScreenUpdating = True
End Sub
Donc je souhaite q' en appuyant sur le bouton, l'opération décrite plus haut(mon 1er message) se réalise.
Les données sont dans la feuille "PORT_MODELE".
Merci d'avance
J 'envoie le code que j'ai déja effectué (c'est peut etre pas parfait mais ca marche).
Private Sub calculer_click()
'
' BDD Macro
Dim TabTemp As Variant
Dim L As Long, LigDebFich As Long
Application.ScreenUpdating = False
'Charge les données dans un tableau variant temporaire
With Sheets("BDD")
L = .Range("A65536").End(xlUp).Row
TabTemp = .Range(.Cells(10, 1), .Cells(L, 7)).Value
End With
With Sheets("PORT_MODELE")
'Effacer l' ancien portefeuille modèle
.Range("A10:D65000").Delete shift:=xlUp
.Range("G10:G65000").Delete shift:=xlUp
.Range("K10:K65000").Delete shift:=xlUp
'Pour chaque ligne de données
For L = 1 To UBound(TabTemp, 1)
LigDebFich = 10 + 1 * L
'Insertion des données...
'Le pourcentage détenu en portefeuille
.Cells(LigDebFich + 1, 3).Value = TabTemp(L, 7)
'Le code ISIN
.Cells(LigDebFich + 1, 1).Value = TabTemp(L, 1)
'Le libellé
.Cells(LigDebFich + 1, 2).Value = TabTemp(L, 2)
'La Taille de capitalisation
.Cells(LigDebFich + 1, 4).Value = TabTemp(L, 5)
'Le Style de gestion
.Cells(LigDebFich + 1, 8).Value = TabTemp(L, 6)
'La zone géographique
.Cells(LigDebFich + 1, 12).Value = TabTemp(L, 4)
Next L
Application.CutCopyMode = False
End With
Application.ScreenUpdating = True
End Sub
Donc je souhaite q' en appuyant sur le bouton, l'opération décrite plus haut(mon 1er message) se réalise.
Les données sont dans la feuille "PORT_MODELE".
Merci d'avance