[ExcelVba] Problème feuille inexistante
François_59
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai créer un classeur excel avec une 100n de feuilles. Afin de simplifier ma recherche, j'ai créer une macro en vba :
Sub cherche()
Dim maFeuil As String
maFeuil = InputBox(Prompt:="Taper le nom de la feuille recherchée. ")
Sheets(maFeuil).Select
Range("a1").Select
If Sheet(maFeuil).select = false then
Goto 1
End if
GestErreur:
MsgBox "Cette feuille n'existe pas !"
End Sub
J'ai créer un classeur excel avec une 100n de feuilles. Afin de simplifier ma recherche, j'ai créer une macro en vba :
Sub cherche()
Dim maFeuil As String
maFeuil = InputBox(Prompt:="Taper le nom de la feuille recherchée. ")
Sheets(maFeuil).Select
Range("a1").Select
If Sheet(maFeuil).select = false then
Goto 1
End if
GestErreur:
MsgBox "Cette feuille n'existe pas !"
End Sub
A voir également:
- [ExcelVba] Problème feuille inexistante
- Feuille de pointage excel - Télécharger - Tableur
- Feuille a5 - Guide
- Bruler feuille de laurier - Guide
- Feuille d'aluminium - Guide
- Verrouiller cellule excel sans verrouiller la feuille - Guide
2 réponses
Bonjour,
Voila, j'ai refait mon programme pour la recherche de mes feuilles, et je me retrouve fasse à quelques soucis :
Sub Rechercheclient()
Dim mafeuil As String
Dim Feuille As Worksheet
Dim flag As Boolean
flag = False
mafeuil = InputBox("Quelle fiche client voulez vous ouvrir ? ","", "Nom du client")
For Each Feuille In Worksheets
If (Feuille.Name = mafeuil) Then
Sheets(mafeuil).Select
Range("a1").Select
flag = True
End If
Next
If Not (flag) Then
Worksheets.Add.Name = mafeuil
Range("a1").Select
Range("a1") = "Nom du client :"
Range("B1") = mafeuil
Range("A2") = "Code client :"
Range("a4") = "Date facture"
Range("b4") = "N° facture"
Range("c4") = "Montant facture"
Range("b50") = "Total"
End If
End Sub
Voici mes problèmes:
1->Quand il me demande le nom dem on client pour la première fois et que je décide d'annuler, il me met une erreur d'exécution (1004) au niveau de la ligne worksheets.add.name=mafeuil.
Comment peut-on corriger cette erreur svp ?
2->Pour la création d'une nouvelle feuille, Je voudrais mettre en cellule "b2" le code du client (Range("b2")=Inputbox(Quel est le code client ?")), Mais j'ai une erreur.
Je peux faire comment ?
3->Encore dans la création de feuille, je voudrais insérer une formule somme en cellule c50 (Range("c50")=Sum(c5:c49)), L'erreur et que cette partie est erronée, peux on me la corriger svp ?
4->Comment créer une cadre avec tout les traits (horizontaux et verticaux) entre la cellule a4 à c49.
Je sais que j'en demande beaucoup, mais je suis novice en vba excel.
En tout cas, je vous remercie par avance pour la réponse à mes problèmes.
Merci,
@++
Voila, j'ai refait mon programme pour la recherche de mes feuilles, et je me retrouve fasse à quelques soucis :
Sub Rechercheclient()
Dim mafeuil As String
Dim Feuille As Worksheet
Dim flag As Boolean
flag = False
mafeuil = InputBox("Quelle fiche client voulez vous ouvrir ? ","", "Nom du client")
For Each Feuille In Worksheets
If (Feuille.Name = mafeuil) Then
Sheets(mafeuil).Select
Range("a1").Select
flag = True
End If
Next
If Not (flag) Then
Worksheets.Add.Name = mafeuil
Range("a1").Select
Range("a1") = "Nom du client :"
Range("B1") = mafeuil
Range("A2") = "Code client :"
Range("a4") = "Date facture"
Range("b4") = "N° facture"
Range("c4") = "Montant facture"
Range("b50") = "Total"
End If
End Sub
Voici mes problèmes:
1->Quand il me demande le nom dem on client pour la première fois et que je décide d'annuler, il me met une erreur d'exécution (1004) au niveau de la ligne worksheets.add.name=mafeuil.
Comment peut-on corriger cette erreur svp ?
2->Pour la création d'une nouvelle feuille, Je voudrais mettre en cellule "b2" le code du client (Range("b2")=Inputbox(Quel est le code client ?")), Mais j'ai une erreur.
Je peux faire comment ?
3->Encore dans la création de feuille, je voudrais insérer une formule somme en cellule c50 (Range("c50")=Sum(c5:c49)), L'erreur et que cette partie est erronée, peux on me la corriger svp ?
4->Comment créer une cadre avec tout les traits (horizontaux et verticaux) entre la cellule a4 à c49.
Je sais que j'en demande beaucoup, mais je suis novice en vba excel.
En tout cas, je vous remercie par avance pour la réponse à mes problèmes.
Merci,
@++
Bonjour,
Voici une suggestion :
Lupin
Voici une suggestion :
Sub Rechercheclient()
Dim mafeuil As String
Dim Feuille As Worksheet
Dim flag As Boolean
flag = False
mafeuil = InputBox("Quelle fiche client voulez vous ouvrir ? ", "", "Nom du client")
If (mafeuil <> "") Then
For Each Feuille In Worksheets
If (Feuille.Name = mafeuil) Then
Sheets(mafeuil).Select
Range("a1").Select
flag = True
End If
Next
If Not (flag) Then
Worksheets.Add.Name = mafeuil
Range("b2").Value = InputBox("Quel est le code client ?")
Range("a1").Select
Range("a1").Value = "Nom du client :"
Range("B1").Value = mafeuil
Range("A2").Value = "Code client :"
Range("a4").Value = "Date facture"
Range("b4").Value = "N° facture"
Range("c4").Value = "Montant facture"
Range("b50").Value = "Total"
Range("c50").Value = "=Sum(c5:c49)"
MiseEnForme
End If
End If
End Sub
'
Function MiseEnForme()
Range("A4:C49").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeTop).Weight = xlThin
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeBottom).Weight = xlThin
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeRight).Weight = xlThin
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
.Borders(xlInsideHorizontal).Weight = xlThin
End With
Range("A1").Select
End Function
Lupin