Problème au niveau d'une macro

Le_Goret -  
 Info -
Bonjour,

J'ai une erreur de "Variable bloc ou variable objet with non définie. C'est au niveau de:
If RgT(0, C).Value = "" Then Exit For
Set FeuiR = Worksheets.Add

Je débute au niveau de la programmation. Quelqu'un peut-il me traduire
If RgT(0, C).Value = "" Then Exit For

afin que je puisse déterminer l'objet à spécifier en qualificateur?

5 réponses

  1. Info
     
    Bonjour,

    Il est difficile de traduire ton code puisqu'il est incomplet.

    ' Utiliser cette instruction pour déclaré les variable que tu utilise.
    Option Explicit
    
    Sub Essai()
    
        ' C ???
        ' RgT ???
    
        Dim C as Long
    
        For C = 0 To 9
    
            ' Si la valeur = RIEN, sort de la boucle For    
            If Range(0, C).Value = "" Then Exit For
            
            Set FeuiR = Worksheets.Add
    
            ' ...
            
        Next c
    
    End Sub
    


    RgT(0, c) Ressemble à la syntaxe [ Cells(0,C).value ],
    toutefois, l'instruction CELLS n'accepte pas le 0.

    Ce serait plutôt [ Cells(1,C).Value) ]

    Info
    0
  2. Le_Goret
     
    Salut Info, Voici ma macro en entier. En fait je cherche à créer des onglets à partir d'une feuille source qui reprendrait un tableau (colonne 1 à 14) plus une colonne en particulier (colonne 15 puis colonne 16 puis colonne 17 ....). En fait Rgt(O,C) permet de terminer la boucle for c'est à dire d'arrêter de dupliquer. C'est bien cà? J'essaie de remplacer Rgt(O,c) par [ Cells(1,C).Value) ].

    Private Sub Workbook_Open()
    Dim RgT As Range, N As Long, C As Long, FeuiR As Worksheet
    For C = 15 To 256
    If RgT(0, C).Value = "" Then Exit For
    Set FeuiR = Worksheets.Add
    FeuiR.Name = RgT(0, C).Value
    Feuil1.Columns(1).Resize(, 14).Copy FeuiR.Columns(1)
    Feuil1.Columns(C).Copy FeuiR.Columns(15)
    Next C
    End Sub
    0
  3. Le_Goret
     
    Au fait pourquoi RgT(0,C) ne marchait-il pas? Et merci à toi info pour ton aide!!!
    0
  4. Le_Goret
     
    Ca y est j'ai trouve, ca marche:
    Private Sub CommandButton1_Click()
    Dim RgT As String, N As Long, C As Long, FeuiR As Worksheet
    For C = 15 To 256
    RgT = Cells(6, C).Value
    If RgT = "" Then
    Exit For
    End If
    Set FeuiR = Worksheets.Add
    FeuiR.Name = RgT
    Feuil1.Columns(1).Resize(, 14).Copy FeuiR.Columns(1)
    Feuil1.Columns(C).Copy FeuiR.Columns(15)
    Next C
    End Sub

    En fait je définis mon Rgt au début avec RgT = Cells(6, C).Value
    Lorsque ma cellule de la ligne 6 devient vide je sors bien de ma boucle for.

    Merci pour votre aide!!!!!
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Info
     
    re:

    Bienvenue :-)

    Désolé de n'avoir pas pu suivre de plus près votre évolution.

    Cdt

    Info
    0