Vba créer tableau

Résolu

Bonjour,

J'ai besoin de votre aide merci.

je suis en train de monter un code et suis coincée, je veux aller à la fin de la colonne, ensuite 'tourner à droite et créer un petit tableau de 4 colonnes et deux lignes.l

Voici mon début :

Range("AP1").Select
Selection.End(xlDown).Select
ActiveCell.FormulaR1C1 = "Total"

Comment me déplacer dans tous les sens. Par exemple je veux plutôt écrire 'Total' dans la cellule à droite, et faire ce pas 3 autres fois pour monter les titres des quatre colonnes voir ci-dessous, puis descendre à la deuxième ligne pour mettre la formule de somme.

Total     Achat    Vente   Bonus

J'espère que c'est assez clair et merci d'avance.


Windows / Chrome 104.0.0.0

5 réponses

  1. Bonjour

    En utilisant offset(nb_lignes,nb_colonnes)

    Exemple en partant de "AP1"

    Dim celdeb As Range
    Set celdeb = Range("AP1")
    celdeb.Offset(0, 1).Value = "total"
    celdeb.Offset(0, 2).Value = "achat"
    celdeb.Offset(0, 3).Value = "vente"
    celdeb.Offset(0, 4).Value = "bonus"
    celdeb.offset(1,1).Value = "...."

    Cdlmnt

    1. Merci beaucoup pour la réponse rapide je vais l'essayer et revenir

      1. Je ne sais pas ce que j'ai manqué il ne bouge pas voici j'ai copié collé ce que j'avais mis, il me donne erreur dans la 4e ligne dont le titre total. 

        Aussi, sur cette ligne comment mettre la valeur de la somme de la colonne 10, est ce que ceci pourra fonctionner "=SUM(C[10])"

        Sub testmacro()
        Dim celtab As Range
        Set celtab = Range("AP1")

        Selection.End(xlDown).Select
        Celtab.Offset(0, 1).Value = "Total"
        Celtab.Offset(0, 2).Value = "Achat"
        Celtab.Offset(0, 3).Value = "Vente"
        Celtab.Offset(0, 4).Value = "Bonus"
        Celtab.Offset(1, 1).Value = ""
        End Sub

        1. Bonjour

          1. cette instruction n'a pas à y être

          Selection.End(xlDown).Select

          2. Pour le reste, ceci répond à la question posée

          Sub testmacro()
          Dim celtab As Range
          Set celtab = Range("AP1")
          celtab.Offset(0, 1).Value = "Total"
          celtab.Offset(0, 2).Value = "Achat"
          celtab.Offset(0, 3).Value = "Vente"
          celtab.Offset(0, 4).Value = "Bonus"
          celtab.Offset(1, 1).Value = Application.WorksheetFunction.Sum(Columns(10))
          End Sub

          https://www.cjoint.com/c/LHEnmCuTkOB

          Ctrl+k pour lancer la macro

          Cdlmnt