Problème au niveau d'une macro
Le_Goret
-
Info -
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?
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
-
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 -
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 -
-
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!!!!! -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -