Private Sub UserForm_activate()
[D5].Select
' Position de l'userform dans la page et donne le focus
Me.Left = 100
Me.Top = 150
Me.nbrCHIFFRES.SetFocus
' Réinitialise les textes
COMMENTAIRE.Caption = ""
COMMENTAIRE2.Caption = ""
COMMENTAIRE.ForeColor = RGB(0, 0, 0)
COMMENTAIRE2.ForeColor = RGB(0, 0, 0)
Supprimer.Caption = "Lancer"
COMMENTAIRE2.ForeColor = RGB(0, 0, 0)
' Désactive les boutons "Suivant" et "Supprimer"
Suivant.Enabled = False
Supprimer.Enabled = False
' Réinitialise la variable
nbrCHIFFRES = ""
End Sub
Private Sub nbrCHIFFRES_Change()
' Si entrée d'une valeur dans la case :
COMMENTAIRE.Caption = ""
COMMENTAIRE.ForeColor = RGB(0, 0, 0)
If nbrCHIFFRES <> "" Then ' Vérifie si c'est un chiffre
If IsNumeric(nbrCHIFFRES) Then
COMMENTAIRE.ForeColor = RGB(0, 0, 0)
If nbrCHIFFRES = 1 Then COMMENTAIRE.Caption = "Recherche de titres dont le premier caractère est un chiffre"
If nbrCHIFFRES > 1 Then COMMENTAIRE.Caption = "Recherche de titres dont les " & nbrCHIFFRES & " premiers caractères sont des chiffres"
Supprimer.Enabled = True
Else
' Si pas un chiffre
COMMENTAIRE.ForeColor = RGB(255, 0, 0)
COMMENTAIRE.Caption = "Ceci n'est pas un chiffre!" & Chr(13) & "Veuillez taper le nombre de chiffres que vous cherchez en début de titre"
Exit Sub
End If
End If
End Sub
Private Sub Suivant_Click()
' Passe au résultat suivant sans rien faire
Selection.Offset(-1, 0).Select
If ActiveCell.Row <= 11 Then [D10].Select ' Pour ne pas sortir de la liste
End Sub
Private Sub Supprimer_Click()
' Si rien n'est entré dans la case de saisie
'nbrCHIFFRES
' Si c'est le premier lancement alors :
If Supprimer.Caption = "Lancer" Then
RECHERCHEtitresAVECchiffres
Supprimer.Caption = "Supprimer"
' Sinon supprime le chiffre
Else
Selection.Value = Right(Selection.Value, Len(Selection) - nbrCHIFFRES)
' S'il y a un espace ou un "-" juste après le supprime aussi
res = 0
For i = 1 To nbrCHIFFRES + 1 'Len(Selection)
If Mid(Selection, i, 1) = " " Or Mid(Selection, i, 1) = "-" Then
Selection.Value = Right(Selection.Value, Len(Selection) - 1)
End If
Next
RECHERCHEtitresAVECchiffres
End If
End Sub
Sub RECHERCHEtitresAVECchiffres()
Suivant.Enabled = True
' Compte le nombre de titres comportant x chiffres au début
a = 0
For i = 10 To 509
If Cells(i, 4) <> "" Then
If IsNumeric(Left(Cells(i, 4).Value, nbrCHIFFRES)) Then a = a + 1
End If
Next i
' Si rien n'est trouvé
If a = 0 Then
COMMENTAIRE2.ForeColor = RGB(255, 0, 0)
COMMENTAIRE2.Caption = "Aucun nom ne comporte de chiffre dans le(s) " & nbrCHIFFRES & " caractère(s)"
[C8].Select
Exit Sub
End If
' Sinon propose de supprimer ces chiffres (ne supprime pas ici !!)
For i = 10 To 509
If Cells(i, 4) <> "" Then
If Cells(i, 4) Like "##*" Then
'If IsNumeric(Left(Cells(i, 4).Value, nbrCHIFFRES)) Then
Cells(i, 4).Select
COMMENTAIRE2.Caption = "Les " & nbrCHIFFRES & " premiers caractères de ce nom sont des chiffres" & Chr(13) & "Voulez-vous les supprimer ?"
End If
End If
Next i
End Sub
Private Sub Annuler_Click()
Unload NUMEROSpiste
NUMEROSpiste.Hide
End Sub