VBA - Définir une colonne comme variable

Bonjour à tous,

Je suis débutant en VBA et j'ai un tableau qui peut avoir une longueur variable (en fonction de s'y on regarde sur un horizon temporel de 3 mois ou plus). Le nombre de colonne augmente donc.

J'aimerai pouvoir définir la colonne des totaux de mon document excel (qui correspond à la dernière colonne) comme la variable CoTo afin de pouvoir par la suite l'utilisée pour faire diverses actions sur différentes ranges : Range(RGSI , CoTo).Activate

Je n'arrive pas à trouver la bonne marche à suivre... Je réfléchit à plusieurs solution mais je ne sais pas vers quoi me diriger.

Voici la partie du code concernant ce problème :

Sub RechercheColonne()

Dim RGD As Range 'la range de la ligne date
Dim RGSI As Range 'la range de la ligne solde initial
Dim RGV As Range 'la range de la ligne vente
Dim RGA As Range 'la range de la ligne achat
Dim RGSF As Range 'la range de la ligne solde final
Dim RGT As Range 'la range du total
Dim CoTo As Integer 'la colonne des totaux

'on définit les variables

        Cells.Find(What:="Date", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate

        Set RGD = ActiveCell

        Cells.Find(What:="Solde initial", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate

        Set RGSI = ActiveCell

        Cells.Find(What:="Vente", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate

        Set RGV = ActiveCell

        Cells.Find(What:="Achat", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate

        Set RGA = ActiveCell

        Cells.Find(What:="Solde final", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate

        Set RGSF = ActiveCell

        Cells.Find(What:="Total", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate

        Set RGTO = ActiveCell

        CoTo = RGTO.Column 'on va définir la colonne des totaux

'On active les données de la ligne solde initial et uniquement celle la (pas les données vides après).

        Range(RGSI, CoTo).Activate

End Sub

Je vous remercie d'avance pour votre aide,

Cordialement,

30book1.xlsm (15.20 Ko)

Bonjour,

Merci de joindre un fichier à ta demande.

Cdlt.

Bonjour,

J'ai oublié de le préciser dans mon message précédent mais j'ai bien mit un fichier d'exemple.

Je le remet ici au cas ou.

Merci d'avance pour vos suggestions, aides.

35book1.xlsm (15.20 Ko)

Re

Essaie ceci dans ton classeur et redis moi.

Cdlt.

Public Sub XXX()
Dim RGD As Range
Dim lastCol As Long
    With ActiveSheet
        lastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
        Set RGD = Cells.Find(What:="Date", LookIn:=xlValues, LookAt:=xlWhole)
        If Not RGD Is Nothing Then
        RGD.Offset(, 1).Resize(1, lastCol - 1).Interior.ColorIndex = 6
        End If
    End With
End Sub

Super!

C'est bien ce que je cherchait à faire

.Cells(1, .Columns.Count).End(xlToLeft).Column

!!

Un tout grand merci!

Re,

Rechercher des sujets similaires à "vba definir colonne comme variable"