OVH Cloud OVH Cloud

Problème de variable

8 réponses
Avatar
Deedooz
Re-Bonjour,

Est-il possible d'assigner un nom pour Feuille'n ?
Je m'explique :
Dans ma cellule R28 j'ai un nombre qui varie de 1 à 12, selon le résultat,
cela me donne le n° de la feuille concernée (janvier, février,...)
Par exemple, ma feuille janvier s'appelle Feuil5, Février Feuil6 ...,
Décembre Feuil16

Je donne donc le nom de Feuil'n à la variable Zone
Mais je n'arrive pas à l'insérer dans le calcul de ma première cellule non
vide pour la feuille concernée (l'avant dernière ligne de ma proc)

J'espere avoir été assez clair :)

Private Sub Cmd_Valid_Click()
Dim c As Integer
c = 1
For c = 1 To 12
If Range("R28").Value = c Then
Zone = "Feuil" & c + 4
End If
Next c
MsgBox "La feuille sélectionnée est " & Zone
LaPremiereDispo = Zone.Range("E65536").End(xlUp).Offset(1, 0).Row
MsgBox "la premiere cellule de ce mois est " & LaPremiereDispo
End Sub



Merci

8 réponses

Avatar
Ange Ounis
Essaye :

LaPremiereDispo = Sheets(Zone).Range("E65536").End(xlUp).Offset(1, 0).Row

----------
Ange Ounis
----------


Re-Bonjour,

Est-il possible d'assigner un nom pour Feuille'n ?
Je m'explique :
Dans ma cellule R28 j'ai un nombre qui varie de 1 à 12, selon le résultat,
cela me donne le n° de la feuille concernée (janvier, février,...)
Par exemple, ma feuille janvier s'appelle Feuil5, Février Feuil6 ...,
Décembre Feuil16

Je donne donc le nom de Feuil'n à la variable Zone
Mais je n'arrive pas à l'insérer dans le calcul de ma première cellule non
vide pour la feuille concernée (l'avant dernière ligne de ma proc)

J'espere avoir été assez clair :)

Private Sub Cmd_Valid_Click()
Dim c As Integer
c = 1
For c = 1 To 12
If Range("R28").Value = c Then
Zone = "Feuil" & c + 4
End If
Next c
MsgBox "La feuille sélectionnée est " & Zone
LaPremiereDispo = Zone.Range("E65536").End(xlUp).Offset(1, 0).Row
MsgBox "la premiere cellule de ce mois est " & LaPremiereDispo
End Sub



Merci





Avatar
Deedooz
Nan ca ne marche pas :(

Erreur d'execution 9 "L'indice n'appartient pas à la sélection" :(

"Ange Ounis" a écrit dans le message de
news:
Essaye :

LaPremiereDispo = Sheets(Zone).Range("E65536").End(xlUp).Offset(1, 0).Row

----------
Ange Ounis
----------


Re-Bonjour,

Est-il possible d'assigner un nom pour Feuille'n ?
Je m'explique :
Dans ma cellule R28 j'ai un nombre qui varie de 1 à 12, selon le
résultat,


cela me donne le n° de la feuille concernée (janvier, février,...)
Par exemple, ma feuille janvier s'appelle Feuil5, Février Feuil6 ...,
Décembre Feuil16

Je donne donc le nom de Feuil'n à la variable Zone
Mais je n'arrive pas à l'insérer dans le calcul de ma première cellule
non


vide pour la feuille concernée (l'avant dernière ligne de ma proc)

J'espere avoir été assez clair :)

Private Sub Cmd_Valid_Click()
Dim c As Integer
c = 1
For c = 1 To 12
If Range("R28").Value = c Then
Zone = "Feuil" & c + 4
End If
Next c
MsgBox "La feuille sélectionnée est " & Zone
LaPremiereDispo = Zone.Range("E65536").End(xlUp).Offset(1, 0).Row
MsgBox "la premiere cellule de ce mois est " & LaPremiereDispo
End Sub



Merci








Avatar
MPi
Ça devrait pourtant fonctionner selon ce que l'Ange t'a dit.

Ici, ce bout de code fonctionne bien, en autant que les feuilles se nomment
bien "Feuil5", "Feuil6", ...

Dim Feuille As String
Dim LaPremiereDispo

If Range("R28") < 1 Or Range("R28") > 12 Then Exit Sub

Feuille = "Feuil" & Range("R28") + 4
LaPremiereDispo = Sheets(Feuille).Range("E65536").End(xlUp).Offset(1,
0).Row

MsgBox "Nom de feuille: " & Feuille & vbCrLf & _
"Première ligne vide: " & LaPremiereDispo

Michel



Nan ca ne marche pas :(

Erreur d'execution 9 "L'indice n'appartient pas à la sélection" :(

"Ange Ounis" a écrit dans le message de
news:
Essaye :

LaPremiereDispo = Sheets(Zone).Range("E65536").End(xlUp).Offset(1, 0).Row

----------
Ange Ounis
----------


Re-Bonjour,

Est-il possible d'assigner un nom pour Feuille'n ?
Je m'explique :
Dans ma cellule R28 j'ai un nombre qui varie de 1 à 12, selon le
résultat,


cela me donne le n° de la feuille concernée (janvier, février,...)
Par exemple, ma feuille janvier s'appelle Feuil5, Février Feuil6 ...,
Décembre Feuil16

Je donne donc le nom de Feuil'n à la variable Zone
Mais je n'arrive pas à l'insérer dans le calcul de ma première cellule
non


vide pour la feuille concernée (l'avant dernière ligne de ma proc)

J'espere avoir été assez clair :)

Private Sub Cmd_Valid_Click()
Dim c As Integer
c = 1
For c = 1 To 12
If Range("R28").Value = c Then
Zone = "Feuil" & c + 4
End If
Next c
MsgBox "La feuille sélectionnée est " & Zone
LaPremiereDispo = Zone.Range("E65536").End(xlUp).Offset(1, 0).Row
MsgBox "la premiere cellule de ce mois est " & LaPremiereDispo
End Sub



Merci














Avatar
Deedooz
Ben mince, ca ne marche toujours pas chez moi : j'ai toujours la même
erreur...
J'ai Excel 2000... je testerais demain au boulot avec la version Office XP..


"MPi" a écrit dans le message de
news:
Ça devrait pourtant fonctionner selon ce que l'Ange t'a dit.

Ici, ce bout de code fonctionne bien, en autant que les feuilles se
nomment

bien "Feuil5", "Feuil6", ...

Dim Feuille As String
Dim LaPremiereDispo

If Range("R28") < 1 Or Range("R28") > 12 Then Exit Sub

Feuille = "Feuil" & Range("R28") + 4
LaPremiereDispo = Sheets(Feuille).Range("E65536").End(xlUp).Offset(1,
0).Row

MsgBox "Nom de feuille: " & Feuille & vbCrLf & _
"Première ligne vide: " & LaPremiereDispo

Michel



Nan ca ne marche pas :(

Erreur d'execution 9 "L'indice n'appartient pas à la sélection" :(

"Ange Ounis" a écrit dans le message de
news:
Essaye :

LaPremiereDispo = Sheets(Zone).Range("E65536").End(xlUp).Offset(1,
0).Row




----------
Ange Ounis
----------


Re-Bonjour,

Est-il possible d'assigner un nom pour Feuille'n ?
Je m'explique :
Dans ma cellule R28 j'ai un nombre qui varie de 1 à 12, selon le
résultat,


cela me donne le n° de la feuille concernée (janvier, février,...)
Par exemple, ma feuille janvier s'appelle Feuil5, Février Feuil6
...,




Décembre Feuil16

Je donne donc le nom de Feuil'n à la variable Zone
Mais je n'arrive pas à l'insérer dans le calcul de ma première
cellule




non
vide pour la feuille concernée (l'avant dernière ligne de ma proc)

J'espere avoir été assez clair :)

Private Sub Cmd_Valid_Click()
Dim c As Integer
c = 1
For c = 1 To 12
If Range("R28").Value = c Then
Zone = "Feuil" & c + 4
End If
Next c
MsgBox "La feuille sélectionnée est " & Zone
LaPremiereDispo = Zone.Range("E65536").End(xlUp).Offset(1, 0).Row
MsgBox "la premiere cellule de ce mois est " & LaPremiereDispo
End Sub



Merci

















Avatar
MPi
Dans le classeur, est-ce que le nom des onglets est bien Feuil5, Feuil6, ...
ou bien Janvier, Février,... ?

Michel



Ben mince, ca ne marche toujours pas chez moi : j'ai toujours la même
erreur...
J'ai Excel 2000... je testerais demain au boulot avec la version Office XP..


"MPi" a écrit dans le message de
news:
Ça devrait pourtant fonctionner selon ce que l'Ange t'a dit.

Ici, ce bout de code fonctionne bien, en autant que les feuilles se
nomment

bien "Feuil5", "Feuil6", ...

Dim Feuille As String
Dim LaPremiereDispo

If Range("R28") < 1 Or Range("R28") > 12 Then Exit Sub

Feuille = "Feuil" & Range("R28") + 4
LaPremiereDispo = Sheets(Feuille).Range("E65536").End(xlUp).Offset(1,
0).Row

MsgBox "Nom de feuille: " & Feuille & vbCrLf & _
"Première ligne vide: " & LaPremiereDispo

Michel



Nan ca ne marche pas :(

Erreur d'execution 9 "L'indice n'appartient pas à la sélection" :(

"Ange Ounis" a écrit dans le message de
news:
Essaye :

LaPremiereDispo = Sheets(Zone).Range("E65536").End(xlUp).Offset(1,
0).Row




----------
Ange Ounis
----------


Re-Bonjour,

Est-il possible d'assigner un nom pour Feuille'n ?
Je m'explique :
Dans ma cellule R28 j'ai un nombre qui varie de 1 à 12, selon le
résultat,


cela me donne le n° de la feuille concernée (janvier, février,...)
Par exemple, ma feuille janvier s'appelle Feuil5, Février Feuil6
....,




Décembre Feuil16

Je donne donc le nom de Feuil'n à la variable Zone
Mais je n'arrive pas à l'insérer dans le calcul de ma première
cellule




non
vide pour la feuille concernée (l'avant dernière ligne de ma proc)

J'espere avoir été assez clair :)

Private Sub Cmd_Valid_Click()
Dim c As Integer
c = 1
For c = 1 To 12
If Range("R28").Value = c Then
Zone = "Feuil" & c + 4
End If
Next c
MsgBox "La feuille sélectionnée est " & Zone
LaPremiereDispo = Zone.Range("E65536").End(xlUp).Offset(1, 0).Row
MsgBox "la premiere cellule de ce mois est " & LaPremiereDispo
End Sub



Merci























Avatar
Deedooz
Oui en effet mes onglets s'appellent bien Janvier, Fevrier, ..
Quand je passe en VBA, en faisant la proprieté de mes feuilles j'ai les
infos suivantes :
(Name) : Feuil5
Name : Janvier
....



"MPi" a écrit dans le message de
news:
Dans le classeur, est-ce que le nom des onglets est bien Feuil5, Feuil6,
...

ou bien Janvier, Février,... ?

Michel



Ben mince, ca ne marche toujours pas chez moi : j'ai toujours la même
erreur...
J'ai Excel 2000... je testerais demain au boulot avec la version Office
XP..




"MPi" a écrit dans le message de
news:
Ça devrait pourtant fonctionner selon ce que l'Ange t'a dit.

Ici, ce bout de code fonctionne bien, en autant que les feuilles se
nomment

bien "Feuil5", "Feuil6", ...

Dim Feuille As String
Dim LaPremiereDispo

If Range("R28") < 1 Or Range("R28") > 12 Then Exit Sub

Feuille = "Feuil" & Range("R28") + 4
LaPremiereDispo Sheets(Feuille).Range("E65536").End(xlUp).Offset(1,
0).Row

MsgBox "Nom de feuille: " & Feuille & vbCrLf & _
"Première ligne vide: " & LaPremiereDispo

Michel



Nan ca ne marche pas :(

Erreur d'execution 9 "L'indice n'appartient pas à la sélection" :(

"Ange Ounis" a écrit dans le message de
news:
Essaye :

LaPremiereDispo = Sheets(Zone).Range("E65536").End(xlUp).Offset(1,
0).Row




----------
Ange Ounis
----------


Re-Bonjour,

Est-il possible d'assigner un nom pour Feuille'n ?
Je m'explique :
Dans ma cellule R28 j'ai un nombre qui varie de 1 à 12, selon le
résultat,


cela me donne le n° de la feuille concernée (janvier,
février,...)






Par exemple, ma feuille janvier s'appelle Feuil5, Février Feuil6
....,




Décembre Feuil16

Je donne donc le nom de Feuil'n à la variable Zone
Mais je n'arrive pas à l'insérer dans le calcul de ma première
cellule




non
vide pour la feuille concernée (l'avant dernière ligne de ma
proc)







J'espere avoir été assez clair :)

Private Sub Cmd_Valid_Click()
Dim c As Integer
c = 1
For c = 1 To 12
If Range("R28").Value = c Then
Zone = "Feuil" & c + 4
End If
Next c
MsgBox "La feuille sélectionnée est " & Zone
LaPremiereDispo = Zone.Range("E65536").End(xlUp).Offset(1,
0).Row






MsgBox "la premiere cellule de ce mois est " & LaPremiereDispo
End Sub



Merci


























Avatar
Ange Ounis
Si tu veux absolument utiliser leur codename pour "repérer" tes feuilles, tu
peux peut-être essayer cette petite astuce (passer par une variable de type
Worksheet) :

'***********************
Sub UtiliseCodeName()
Dim c As Integer, Zone As String, Feuille As Worksheet
c = 1
Zone = "Feuil" & c

For i = 1 To Sheets.Count
If Sheets(i).CodeName = Zone Then Set Feuille = Sheets(i)
Next

LaPremiereDispo = Feuille.Range("E65536").End(xlUp).Offset(1, 0).Row
MsgBox "la premiere cellule de ce mois est " & LaPremiereDispo

End Sub
'***********************

----------
Ange Ounis
----------


Oui en effet mes onglets s'appellent bien Janvier, Fevrier, ..
Quand je passe en VBA, en faisant la proprieté de mes feuilles j'ai les
infos suivantes :
(Name) : Feuil5
Name : Janvier
.....



"MPi" a écrit dans le message de
news:

Dans le classeur, est-ce que le nom des onglets est bien Feuil5, Feuil6,


....

ou bien Janvier, Février,... ?

Michel



Ben mince, ca ne marche toujours pas chez moi : j'ai toujours la même
erreur...
J'ai Excel 2000... je testerais demain au boulot avec la version Office



XP..


"MPi" a écrit dans le message de
news:

Ça devrait pourtant fonctionner selon ce que l'Ange t'a dit.

Ici, ce bout de code fonctionne bien, en autant que les feuilles se


nomment

bien "Feuil5", "Feuil6", ...

Dim Feuille As String
Dim LaPremiereDispo

If Range("R28") < 1 Or Range("R28") > 12 Then Exit Sub

Feuille = "Feuil" & Range("R28") + 4
LaPremiereDispo >
Sheets(Feuille).Range("E65536").End(xlUp).Offset(1,




0).Row

MsgBox "Nom de feuille: " & Feuille & vbCrLf & _
"Première ligne vide: " & LaPremiereDispo

Michel



Nan ca ne marche pas :(

Erreur d'execution 9 "L'indice n'appartient pas à la sélection" :(

"Ange Ounis" a écrit dans le message de
news:

Essaye :

LaPremiereDispo = Sheets(Zone).Range("E65536").End(xlUp).Offset(1,




0).Row

----------
Ange Ounis
----------


Re-Bonjour,

Est-il possible d'assigner un nom pour Feuille'n ?
Je m'explique :
Dans ma cellule R28 j'ai un nombre qui varie de 1 à 12, selon le



résultat,

cela me donne le n° de la feuille concernée (janvier,







février,...)

Par exemple, ma feuille janvier s'appelle Feuil5, Février Feuil6





....,

Décembre Feuil16

Je donne donc le nom de Feuil'n à la variable Zone
Mais je n'arrive pas à l'insérer dans le calcul de ma première





cellule

non

vide pour la feuille concernée (l'avant dernière ligne de ma







proc)

J'espere avoir été assez clair :)

Private Sub Cmd_Valid_Click()
Dim c As Integer
c = 1
For c = 1 To 12
If Range("R28").Value = c Then
Zone = "Feuil" & c + 4
End If
Next c
MsgBox "La feuille sélectionnée est " & Zone
LaPremiereDispo = Zone.Range("E65536").End(xlUp).Offset(1,







0).Row

MsgBox "la premiere cellule de ce mois est " & LaPremiereDispo
End Sub



Merci



























Avatar
Deedooz
Merci pour ton aide Ange,

Entre temps je me suis orienté vers l'index de mes feuilles et ceci marche a
merveille

Private Sub Cmd_Valid_Click()
Dim c As Integer
Dim d As Object
Dim LaPremiereDispo
If Range("R28") < 1 Or Range("R28") > 12 Then
Exit Sub
End If
c = Range("R28").Value + 4
Set d = Application.Sheets(c + 4)

LaPremiereDispo = d.Range("E65536").End(xlUp).Offset(1, 0).Row

MsgBox "la premiere cellule de ce mois est " & LaPremiereDispo
End Sub

Merci pour tout


"Ange Ounis" a écrit dans le message de
news:
Si tu veux absolument utiliser leur codename pour "repérer" tes feuilles,
tu

peux peut-être essayer cette petite astuce (passer par une variable de
type

Worksheet) :

'***********************
Sub UtiliseCodeName()
Dim c As Integer, Zone As String, Feuille As Worksheet
c = 1
Zone = "Feuil" & c

For i = 1 To Sheets.Count
If Sheets(i).CodeName = Zone Then Set Feuille = Sheets(i)
Next

LaPremiereDispo = Feuille.Range("E65536").End(xlUp).Offset(1, 0).Row
MsgBox "la premiere cellule de ce mois est " & LaPremiereDispo

End Sub
'***********************

----------
Ange Ounis
----------


Oui en effet mes onglets s'appellent bien Janvier, Fevrier, ..
Quand je passe en VBA, en faisant la proprieté de mes feuilles j'ai les
infos suivantes :
(Name) : Feuil5
Name : Janvier
.....



"MPi" a écrit dans le message de
news:

Dans le classeur, est-ce que le nom des onglets est bien Feuil5, Feuil6,


....

ou bien Janvier, Février,... ?

Michel



Ben mince, ca ne marche toujours pas chez moi : j'ai toujours la même
erreur...
J'ai Excel 2000... je testerais demain au boulot avec la version Office



XP..


"MPi" a écrit dans le message de
news:

Ça devrait pourtant fonctionner selon ce que l'Ange t'a dit.

Ici, ce bout de code fonctionne bien, en autant que les feuilles se


nomment

bien "Feuil5", "Feuil6", ...

Dim Feuille As String
Dim LaPremiereDispo

If Range("R28") < 1 Or Range("R28") > 12 Then Exit Sub

Feuille = "Feuil" & Range("R28") + 4
LaPremiereDispo > >
Sheets(Feuille).Range("E65536").End(xlUp).Offset(1,




0).Row

MsgBox "Nom de feuille: " & Feuille & vbCrLf & _
"Première ligne vide: " & LaPremiereDispo

Michel



Nan ca ne marche pas :(

Erreur d'execution 9 "L'indice n'appartient pas à la sélection" :(

"Ange Ounis" a écrit dans le message de
news:

Essaye :

LaPremiereDispo = Sheets(Zone).Range("E65536").End(xlUp).Offset(1,




0).Row

----------
Ange Ounis
----------


Re-Bonjour,

Est-il possible d'assigner un nom pour Feuille'n ?
Je m'explique :
Dans ma cellule R28 j'ai un nombre qui varie de 1 à 12, selon le



résultat,

cela me donne le n° de la feuille concernée (janvier,







février,...)

Par exemple, ma feuille janvier s'appelle Feuil5, Février Feuil6





....,

Décembre Feuil16

Je donne donc le nom de Feuil'n à la variable Zone
Mais je n'arrive pas à l'insérer dans le calcul de ma première





cellule

non

vide pour la feuille concernée (l'avant dernière ligne de ma







proc)

J'espere avoir été assez clair :)

Private Sub Cmd_Valid_Click()
Dim c As Integer
c = 1
For c = 1 To 12
If Range("R28").Value = c Then
Zone = "Feuil" & c + 4
End If
Next c
MsgBox "La feuille sélectionnée est " & Zone
LaPremiereDispo = Zone.Range("E65536").End(xlUp).Offset(1,







0).Row

MsgBox "la premiere cellule de ce mois est " & LaPremiereDispo
End Sub



Merci