Débogage excel
Résolu
bibouden
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
Bonjour,
dans mon fichier excel j'ai mis une macro evenementiel (clique droit sur l'onglet visualiser le code) pour pouvoir avoir la colonne 2 tout en majuscule ( lorsque l'on ecrit en miniscule)
la colonne 3 avec la premiere lettre en Majuscule et la 8 en majuscule ( voir ci dessous).
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
Z = Target.Value
Target.Value = UCase(Left(Z, 100))
End If
If Target.Column = 3 Then
Z = Target.Value
Target.Value = UCase(Left(Z, 1)) & Right(Z, Len(Z) - 1)
End If
If Target.Column = 8 Then
Z = Target.Value
Target.Value = UCase(Left(Z, 100))
End If
End Sub
Cela marche mais si apres validation de la cellule je m'aperçis que je me suis trompé dans l'orthographe et que j'appuie sur suppr pour modifier la cellule le débogage excel se met en route et après les fonctions ne sont plus fonctionnelle pour tout le fichier je suis obliger de fermer le fichier et de le reouvrir pour que cela refonctionne.Ai je oublier quelque chose ou que dois je faire ?
C'est un fichier que je dois faire remplir à une personne et je crains que mon tel ne cesse de sonner suite à ce pb
Merci beaucou
dans mon fichier excel j'ai mis une macro evenementiel (clique droit sur l'onglet visualiser le code) pour pouvoir avoir la colonne 2 tout en majuscule ( lorsque l'on ecrit en miniscule)
la colonne 3 avec la premiere lettre en Majuscule et la 8 en majuscule ( voir ci dessous).
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
Z = Target.Value
Target.Value = UCase(Left(Z, 100))
End If
If Target.Column = 3 Then
Z = Target.Value
Target.Value = UCase(Left(Z, 1)) & Right(Z, Len(Z) - 1)
End If
If Target.Column = 8 Then
Z = Target.Value
Target.Value = UCase(Left(Z, 100))
End If
End Sub
Cela marche mais si apres validation de la cellule je m'aperçis que je me suis trompé dans l'orthographe et que j'appuie sur suppr pour modifier la cellule le débogage excel se met en route et après les fonctions ne sont plus fonctionnelle pour tout le fichier je suis obliger de fermer le fichier et de le reouvrir pour que cela refonctionne.Ai je oublier quelque chose ou que dois je faire ?
C'est un fichier que je dois faire remplir à une personne et je crains que mon tel ne cesse de sonner suite à ce pb
Merci beaucou
A voir également:
- Débogage excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel trier par ordre croissant chiffre - Guide
2 réponses
Bonjour,
Je pense qu'il faudrait rajouter ca :
Private Sub Worksheet_Change(ByVal Target As Range)
If target.value <> "" then
If Target.Column = 2 Then
Z = Target.Value
Target.Value = UCase(Left(Z, 100))
End If
If Target.Column = 3 Then
Z = Target.Value
Target.Value = UCase(Left(Z, 1)) & Right(Z, Len(Z) - 1)
End If
If Target.Column = 8 Then
Z = Target.Value
Target.Value = UCase(Left(Z, 100))
End If
end if
End Sub
Je pense qu'il faudrait rajouter ca :
Private Sub Worksheet_Change(ByVal Target As Range)
If target.value <> "" then
If Target.Column = 2 Then
Z = Target.Value
Target.Value = UCase(Left(Z, 100))
End If
If Target.Column = 3 Then
Z = Target.Value
Target.Value = UCase(Left(Z, 1)) & Right(Z, Len(Z) - 1)
End If
If Target.Column = 8 Then
Z = Target.Value
Target.Value = UCase(Left(Z, 100))
End If
end if
End Sub
bonjour
en passant tu pourrais en profiter pour simplifier un peu le code
bonne suite
en passant tu pourrais en profiter pour simplifier un peu le code
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Z
If Target.Value <> "" Then
Z = Target.Value
Select Case Target.Column
Case 2: Target.Value = UCase(Z)
Case 3: Target.Value = UCase(Left(Z, 1)) & Right(Z, Len(Z) - 1)
Case 8: Target.Value = UCase(Z)
End Select
End If
End Sub
bonne suite