Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Code Vba qui fait planter Excel ???

  • Initiateur de la discussion Initiateur de la discussion Kiriko
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Kiriko

XLDnaute Occasionnel
Bonjour à tous !!!,
On m'a fournit le code suivant (merci Dan) :
Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    'Macro Dan pour Kiriko le 21/10/2010
    If Not Intersect(Target, Columns("A:A")) Is Nothing Then
    Target = UCase(Target)
    End If
    If Not Intersect(Target, Columns("B:B")) Is Nothing Then
    Target = Application.Ceiling(Target, 0.25)
    End If
    End Sub

Mais il fait planter excel (2007 et même 2010 bêta) dès l'exécution ("APPCRASH" dans l'observateur d'évènements)...
Une idée d'où peut venir le problème et comment y remédier ??

Merci de l'attention que vous porterez à mon problème...
 

Pièces jointes

Dernière édition:
Re : Code Vba qui fait planter Excel ???

Bonjour,
Comme ça ça fonctionne à priori. (pas testé)
Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    'Macro Dan pour Kiriko le 21/10/2010
    Application.EnableEvents = False
    If Not Intersect(Target, Columns("A:A")) Is Nothing Then
    Target = UCase(Target)
    End If
    If Not Intersect(Target, Columns("B:B")) Is Nothing Then
    Target = Application.Ceiling(Target, 0.25)
    End If
    Application.EnableEvents = True
    End Sub
 
Re : Code Vba qui fait planter Excel ???

Bonjour le fil,
Bonjour, Softmama et JNP. Et merci beaucoup !!
Super...
Que faut-il modifier pour que la 1ère ligne ne soit pas prise en compte ?? (Ligne de titre)?

Merci encore !!!
 
Re : Code Vba qui fait planter Excel ???

Bonjour,
Normalement, juste en rajoutant cette ligne, cela fonctionne (pas testé) :
Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    'Macro Dan pour Kiriko le 21/10/2010

[B]If Target.Row = 1 Then Exit Sub[/B]

    Application.EnableEvents = False
    If Not Intersect(Target, Columns("A:A")) Is Nothing Then
    Target = UCase(Target)
    End If
    If Not Intersect(Target, Columns("B:B")) Is Nothing Then
    Target = Application.Ceiling(Target, 0.25)
    End If
    Application.EnableEvents = True
    End Sub
 
Re : Code Vba qui fait planter Excel ???

Merci beaucoup, c'est niquel...
J'avais besoin également que les accents ne restent pas avec la modif, j'ai bidouillé un truc mais il doit y avoir plus simple ?? :
Merci encore à tous !!
J'ai bidouillé une modif pour les accents, mais si vous avez plus simple, ça m'intéresse :

Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
         'Macro Dan pour Kiriko le 21/10/2010
    If Target.Row = 1 Then Exit Sub
    If Not Intersect(Target, Columns("A:A")) Is Nothing Then
   codeA = "ÉÈÊËÔéèêëàçùôûïî"
   codeB = "EEEEOeeeeacuouii"
   temp = Target
    For i = 1 To Len(temp)
    p = InStr(codeA, Mid(temp, i, 1))
    If p > 0 Then Mid(temp, i, 1) = Mid(codeB, p, 1)
   Next
    Application.EnableEvents = False
    Target = UCase(temp)
    Target = UCase(Target)
    End If
    Application.EnableEvents = True
    If Not Intersect(Target, Columns("B:B")) Is Nothing Then
    Application.EnableEvents = False
    Target = Application.Ceiling(Target, 0.25)
    End If
    Application.EnableEvents = True
    End Sub
 
Dernière édition:
Re : Code Vba qui fait planter Excel ???

Merci beaucoup, c'est impeccable....

Dernier point, est-il possible que les accents des minuscules saisies n'apparaisent pas sur les majuscules lors de la transformation ??
 
Re : Code Vba qui fait planter Excel ???

Re 🙂,
Non 😛.
Mais tu as mis une fonction de conversion où il manquent pas mal de cas 😀...
Si tu commences par ton UCase, tu n'auras à traiter que les majuscules 😉.
Et tu peux trouver ici par exemple d'autre fonctions de conversion.
Bon courage 😎
 
Re : Code Vba qui fait planter Excel ???

Merci beaucoup !!

Dernier point : Est-il possible d'appliquer ceci à l'ensemble de la feuille (sauf 1ère ligne), de manière à ce que qu'elle que soit la cellule de saisie, elle se transforme en majuscule sans accent ou en arrondi à 0.25 prêt supérieur en fonction de ce qui est saisi sans générer d'erreur ?? Et dans ce cas, comment "exclure" une colonne donnée? (la D par exemple)?
 
Dernière édition:
Re : Code Vba qui fait planter Excel ???

Bonjour,

Kiriko, il est de bonne habitude d'éviter d'ouvrir des fils sur le même sujet dans plusieurs forums sans avoir au moins la pensée de signaler que tu demandes des informations ailleurs.

Dommage mais j'aurais préféré que tu le signales sur l'autre forum mais aussi ici pour ceux qui ont passé du temps à rechercher une solution à ton problème.

A bientôt
 
Dernière édition:
Re : Code Vba qui fait planter Excel ???

Re 🙂,
Avec la remarque de Dan, je ne sais pas si la dernière question est toujours d'actualité 😕... Merci Dan pour cette info 😉.
Code:
[COLOR=blue]Private Sub[/COLOR] Worksheet_Change([COLOR=blue]ByVal[/COLOR] Target [COLOR=blue]As[/COLOR] Range)
[COLOR=blue]If[/COLOR] Target.Row = 1 [COLOR=blue]Or[/COLOR] Target.Column = 4 [COLOR=blue]Then Exit Sub[/COLOR]
Application.EnableEvents = [COLOR=blue]False[/COLOR]
[COLOR=blue]If[/COLOR] IsNumeric(Target) [COLOR=blue]Then[/COLOR]
Target = Application.Ceiling(Target, 0.25)
[COLOR=blue]Else[/COLOR]
Target = UCase(Target)
[COLOR=blue]End If[/COLOR]
Application.EnableEvents = [COLOR=blue]True[/COLOR]
[COLOR=blue]End Sub[/COLOR]
Bon dimanche 😎
 
Re : Code Vba qui fait planter Excel ???

Merci à tous,
Je présente mes excuses ici à tous, je n'avais pas conscience que le fait de poster sur 2 forums sans le signaler explicitement (Je t'ai néanmoins cité, Dan, mais il est vrai sans te le demander où t'informer, d'où mes excuses).

Je suis de bonne volonté et tiens à "rentrer dans le rang" des pratiques cordiales de ces forums qui m'apportent beaucoup, et espère que vous voudrez bien mettre cette pratique sur le dos de ma faible pratique et mon inattention..

Cordialement à tous, avec de nouveau mes excuses et mes remerciements....
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
213
Réponses
0
Affichages
520
Réponses
4
Affichages
332
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…