Macro Excel pour copier une cell par colonne
nikho123
Messages postés
7
Statut
Membre
-
nikho123 -
nikho123 -
Bonjour,
Je souhaite compléter une macro que je suis entrain de réaliser mais je coince à un endroit depuis kelke jours. bref g besoin d'aide !
______A___________B_______________C____________D____________E
1_____%__________Taille___________Grande________Petite________Moyenne
2____10%________Grande____________10%
3____20%_________Petite________________________20%
Voila mon problème : Je souhaite insérer dans ma macro un code qui me permette de reporter le chiffre de la colonne A soit de ds la colonne C, D ou E en fonction de ce qu'il y a d'inscrit dans la colonne B.
Bref, Si la taille de l'entreprise est grande (colonne B) alors on reporte 10 % ds la colonne C.
J' arrive pas à exprimer cela en langage VBA. C'est peut être simple mais moi j'y arrives pas.
Merci d'avance pour votre aide !!
Je souhaite compléter une macro que je suis entrain de réaliser mais je coince à un endroit depuis kelke jours. bref g besoin d'aide !
______A___________B_______________C____________D____________E
1_____%__________Taille___________Grande________Petite________Moyenne
2____10%________Grande____________10%
3____20%_________Petite________________________20%
Voila mon problème : Je souhaite insérer dans ma macro un code qui me permette de reporter le chiffre de la colonne A soit de ds la colonne C, D ou E en fonction de ce qu'il y a d'inscrit dans la colonne B.
Bref, Si la taille de l'entreprise est grande (colonne B) alors on reporte 10 % ds la colonne C.
J' arrive pas à exprimer cela en langage VBA. C'est peut être simple mais moi j'y arrives pas.
Merci d'avance pour votre aide !!
A voir également:
- Macro Excel pour copier une cell par colonne
- Déplacer une colonne excel - Guide
- Trier colonne excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Formule somme excel colonne - Guide
3 réponses
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