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

Re : Simplifier un code

Bonsoir,

Sans doute, encore faut-il savoir ce qui est suceptible de se produire car perso je n'ai rien compris. Je pense que si tu nous expliquais avec des mots plutot qu'avec un rébus, ce serait beaucoup plus clair, enfin pour moi.
A+
kjin
Bonsoir kjin
Effectivement, j'ai oublié de préciser quand F24, il faut saisir un mot de 6 lettres.
Je croyais que c'était plus explicite comme ça ?
Il y a un mot en R11.
Il faut saisir un mot de 6 lettres en F24.
En cellule A14 la formule est = F24.
Si A14 est = R11, en B14 apparaîtra la définition du mot qui se trouve en R11.

Ce que je souhaiterais, c'est avoir un UserForm ou une fenêtre avec la définition (à la place de la cellule B14).

J'ai déjà les codes qui font fonctionner ça (mais séparément), je sais qu'il faut les mélanger en enlevant la ligne:
Private Sub Worksheet_Change(ByVal Target As Range
Mais je suppose que cela n'est pas aussi simple puisque que ça ne fonctionne plus, mais j'avoue que moi, je ne sais pas comment faire.

Guy
 
Re : Simplifier un code

Re,
Pas sûr d'avoir tout saisi (A14 = F24 = R11 = A14 ?!!), m' enfin...
J'ai dû réadapter la plage "Définitions"
Fonctionne sur la saisie du mot en F24 (qui est = A14 = R11 😀)

Edit : Modifie comme suit la macro pour le contrôle d'erreur, si le mot n'existe pas
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("F24")) Is Nothing Then
    If Range("A14") = Range("R11") Then
        x = Application.VLookup(Target, Sheets(2).Range("Définitions"), 2, 0)
        If Error <> 0 Then
            MsgBox "le mot n'existe pas"
        Else
            MsgBox x
        End If
    End If
End If
End Sub
A+
kjin
 

Pièces jointes

Dernière édition:
Re : Simplifier un code

Bonjour Said
C'est presque ça.
Par contre, il faut que le UserForm apparaîsse que si le mot qui est en A24 soit le même que celui qui se trouve en R11.
Si le mot saisie en F24 n'est pas le même que celui de R11, alors pas de UserForm.
Cordialement
Guy
 
Re : Simplifier un code

Bonjour kjin,
Je ne sais pas comment dire.
En B14, il n'y a que la formule que j'avais trouvé.
Mais je veux supprimer cette formule par un UserForm ou une MsgBox.
R11---> mot à trouver.
F24---> mot à saisir.
A24---> résultat du mot pour lancer le Userform si est égal à R11.
B6:L6---> ortographe du mot saisie avec espace.
Dans les codes, il y a :
Un code qui mets en majuscules automatiquement.
Un code qui copie le mot avec espace en B6:L6.
Un code qui fait apparaître un UserForm ou une MsgBox.
Comment faire pour faire fonctionner les 3 entre eux ?

cordialement
Guy
 
Re : Simplifier un code

Bonjour à tous,

Le temps de réponse est long à cause de l'évènement "Worksheet_change" qui se déclenche sans utilité dans la macro "Solution".

Code à modifier:

Code:
Sub Solution()
Application.EnableEvents = False
...
Application.EnableEvents = True
End Sub

@+

Gael
 
- 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
Réponses
4
Affichages
177
Réponses
43
Affichages
841
Réponses
8
Affichages
400
Réponses
4
Affichages
234
Réponses
2
Affichages
107
Réponses
4
Affichages
222
  • Question Question
Microsoft 365 Màj Graph
Réponses
5
Affichages
174
Retour