Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1598 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Code VBA qui plante pour majuscules

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Code VBA qui plante pour majuscules

n°2117963
guiyom85
Posté le 22-12-2011 à 15:55:35  profilanswer
 

Bonjour,  
 
Après avoir tenté de trouver une solution sur le forum et avec mes méninges, je bute sur un programme sur excel pour la mise en forme automatique en majuscule de certaines cellules e la feuille. Voici le code :  
 
Private Sub Worksheet_Change(ByVal Target As Range)  
    If Not Application.Intersect(Target, Range("C5:C200" )) Is Nothing Then  
        If Not IsEmpty(Target) Then  
            Target.Value = UCase(Target.Value)  
        End If  
    End If  
 
    If Not Application.Intersect(Target, Range("G5:G200" )) Is Nothing Then  
        If Not IsEmpty(Target) Then  
            Target.Value = UCase(Target.Value)  
        End If  
    End If  
End Sub  
 
Pour la colonne C, aucun souci, mais ça plante dès que j'écris qqch dans la colonne G. Erreur d'exécution 2147417848 (80010108). La méthode 'Value' de l'objet 'Range' a échoué, et au débogage, ça s'arrête sur Target.Value = UCase(Target.Value) de la deuxième partie du code, alors qu'identique que la première partie...  
??????  
Merci beaucoup pour votre aide  
 
Quelqu'un a-t-il une solution miracle ?

mood
Publicité
Posté le 22-12-2011 à 15:55:35  profilanswer
 

n°2118106
olivthill
Posté le 23-12-2011 à 10:10:52  profilanswer
 

Essayer :

Private Sub Worksheet_Change(ByVal Target As Range)  
    If Not Application.Intersect(Target, Range("C5:C200,G5:G200" )) Is Nothing Then  
        If Not IsEmpty(Target) Then  
            Target.Value = UCase(Target.Value)  
        End If  
    End If  
End Sub  

Ca devrait marcher car il y a un exemple similaire sur la page http://www.ozgrid.com/VBA/vba-intersect.htm

n°2119008
guiyom85
Posté le 02-01-2012 à 12:05:05  profilanswer
 

olivthill a écrit :

Essayer :

Private Sub Worksheet_Change(ByVal Target As Range)  
    If Not Application.Intersect(Target, Range("C5:C200,G5:G200" )) Is Nothing Then  
        If Not IsEmpty(Target) Then  
            Target.Value = UCase(Target.Value)  
        End If  
    End If  
End Sub  

Ca devrait marcher car il y a un exemple similaire sur la page http://www.ozgrid.com/VBA/vba-intersect.htm


 
Bonjour,
 
Merci pour votre aide, mais ça ne marche pas mieux, après il me met même une fenêtre "mémoire insuffisante pour tout afficher", ça plante, et je dois fermer excel...

n°2119221
guiyom85
Posté le 03-01-2012 à 14:43:13  profilanswer
 

j'ai copié le code dans un classeur vierge, et ça marche sans problème... il y a-t-il une explication ?
Merci vivement pour votre aide !

n°2119644
guiyom85
Posté le 05-01-2012 à 11:07:39  profilanswer
 

je suis toujours en panne, rien n'y fait, HELP !!!!

n°2120256
guiyom85
Posté le 09-01-2012 à 14:17:08  profilanswer
 

j'ai fini par trouver, pour ceux que ça intéresse...
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Application.Intersect(Target, Range("C5:C200,G5:G200" )) Is Nothing Then
    If Not IsEmpty(Target) Then
      Application.EnableEvents = False
      Target.Value = UCase(Target.Value)
      Application.EnableEvents = True
    End If
  End If
End Sub
 
à bientôt !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Code VBA qui plante pour majuscules

 

Sujets relatifs
Code couleur en VBA (boutons etc)[PERL] Erreure dans code. Algo?
VBA importation fichiers TXT[VBA Excel] Problème vlookup ne rappatriant que des zéros (RESOLU !)
VBA Exel problème copie feuilleSelect Case en VBA : question de débutant
Calcul de la valeur actuelle avec VBACalcul financiers avec VBA excel
Bluegriffon - probleme de code 
Plus de sujets relatifs à : Code VBA qui plante pour majuscules


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR