Probleme macro tout majuscule lors de suppression de ligne

Bonjour / bonsoir

Etant novice en VBA, je m'auto-forme grace a votre formations vraiment très bien faite, et quelque code trouvé par ci par la sur le net.

Cependant si je viens vers vous c'est que je bloque sur un code.

J'ai un fichier excel ou je rentre via un formulaire des données correspondante à des matières premières, et un code qui me permet de mettre les valeurs dans le tableau en majuscule quel que sois ce qui est rentré dans le formulaire.

Private Sub worksheet_change(ByVal target As Range)

    If Intersect(target, [A4:N400]) Is Nothing Then Exit Sub
        Application.EnableEvents = False
        target = UCase(target)
        Application.EnableEvents = True

End Sub

Seulement mon probleme, c'est que dès que je supprime une ligne de valeur, j'ai un message d'erreur me disant :

Erreur d'exécution '13':

Incompatibilité de type

et me renvoi a la ligne :

 target = UCase(target)

Alors j'imagine bien que cela doit etre du au fait que je cherche a avoir les valeur en majuscule dans les cellules A4 à N400, mais je ne comprends pas comment le résoudre,

Pouvez vous m'aider ?

Merci d'avance

Fonbs

Bonjour,

Essaie en ajoutant une ligne en tête de la macro :

If Target.Count > 1 Then Exit Sub

Cordialement

Ferrand

MFerrand a écrit :

Bonjour,

Essaie en ajoutant une ligne en tête de la macro :

If Target.Count > 1 Then Exit Sub

Cordialement

Ferrand

Bonjour,

Un grand merci pour la rapidité de réponse, et la qualité de réponse

Ca semble fonctionner, je ferais plus de test demain, de retour au travail

Par contre, serait il possible d'avoir une petite explication ? ^^

Merci d'avance

Bonne soirée

Fonbs

Quand tu affectes une ligne ou une colonne, Target aura un nombre de cellules supérieur à 1. En éliminant ce cas on évite l'erreur.

Si tes saisies à convertir ne concernent à chaque fois qu'une cellule, pas de problème, cette ligne suffira. Par contre si elle peut affecteur plus d'une cellule (lors de copie par exemple), il faudrait sophistiquer un peu le test pour que ta macro puisse laisser passer et convertir, en continuant à bloquer les lignes et colonnes entières.

Cordialement

Bonjour,

Après plusieurs test effectuer aujourd'hui, la macro fonctionnait bien.

Cependant pour plusieurs raisons j'ai décidé de procéder autrement, et simplement en ajoutant des Ucase devant mes TextBox.value et cela marche impeccable

Merci encore pour ces réponses et ces infos

Cordialement,

Fonbs

Rechercher des sujets similaires à "probleme macro tout majuscule lors suppression ligne"