• Initiateur de la discussion Initiateur de la discussion Schom
  • 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 !

Schom

XLDnaute Nouveau
Bonjour à tous 🙂

Mon problème : mettre automatiquement les cellules d'une seule colonne en majuscule (au fur et à mesure de la saisie, lorsque l'on sort de la cellule, peu importe)

Ma méthode : rechercher sur ce magnifique forum si le probleme a déjà été traité. Ce qui est le cas.

La solution : ce petit code qui permet apparemment de faire exactement ce que je recherche :

Private Sub Worksheet_Change(ByVal zz As Range)
If Intersect(zz, [D1:d60000]) Is Nothing Then Exit Sub
Application.EnableEvents = False
zz = UCase(zz)
Application.EnableEvents = True
End Sub

Mon nouveau probleme : je dois mal faire qq chose car au moment de la sortie de cellule, il me fait une erreur de compilation et me met "Nom ambigu détecté : Worksheet_Change"

Et là......?
Je suis plutot néophite en vba et si j'arrive pour le moment à peu près à interpréter les codes et les adapter, je ne sais guere faire plus...mais j'ai très envie d'apprendre !😎

Merci par avance à ceux qui pourraient m'aider à trouver la solution 🙂
 
Re : Minuscule/Majuscule

Merci infiniment pour la rapidité de votre réponse 🙂

Alors, pour Staple1600 : j'ai une autre macro sur la feuille qui me donne la date et l'heure de la saisie d'une cellule et qui s'intitule : "Private Sub Worksheet_Change(ByVal Target As Range)".
Crois-tu que cela puisse créer un conflit ? Et si oui, comment est-il possible de contourner le problème ?

pour pierrejean : au risque de paraître ignorant je ne vois pas ce que cela implique. J'ai pris le code que tu as fais (au passage merci) et je l'ai copié sur ma feuille. Il semble identifié correctement en Worksheet et Change mais me donne exactement les mêmes symptômes.

Si ça peut aider, voici le code de ma feuille :


Dim Ligne As Integer

Private Sub Worksheet_Change(ByVal Target As Range)
' exclusion de l'entête de colonne
If Ligne <> 1 Then
' si cellule de la colonne A modifiée différente de vide
If Range("D" & Ligne).Value <> "" Then
' date dans cellule de la colonne B correspondant N° de ligne sélectionnée
Range("L" & Ligne).Value = Now
End If
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' N° de ligne de la cellulle sélectionnée
Ligne = ActiveCell.Row
End Sub



Merci en tout cas de vous pencher sur mon cas 🙂
 
Dernière édition:
Re : Minuscule/Majuscule

bonjour Schom

Staple et moi-même avons dit la même chose:

il ne peut y avoir qu'une macro Worksheet_Change

vois si cela te convient:

et l'inscription de la date et la mise en majuscule sont executés dans la même macro

si la date devait etre inscrite pour toute selection de cellule (notamment en dehors de la colonne D ) , il faudrait inverser l'ordre d'ecriture
 

Pièces jointes

Re : Minuscule/Majuscule

IMPECCABLE !!

Merci beaucoup ! Je suppose que vous êtes très sollicité, et c'est très aimable d'avoir pris un peu de temps pour m'aider.
Je me coucherais moins con ce soir. C'est en lisant ton explication que ça ma semblé finalement très logique.

Cooool 😛
 
- 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

Retour