Macro Excel pour copier une cell par colonne

nikho123 Messages postés 7 Statut Membre -  
 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 !!
Configuration: Windows Vista
Internet Explorer 7.0

3 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour

    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
    0
  2. NIKHO123
     
    Merci pour ta réponse,

    Je vais essayer et je reviens te dire si cela marche.

    merci
    0
  3. nikho123
     
    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
    0