Message Alerte si click sur cellule qui n'est pas une adresse ( $x$x)

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

papapaul

XLDnaute Impliqué
😉 Bonsoir forum,
Dans l'usine qui est quasi terminée grace à tous et
beaucoup Pierrejean bien sur, vous l'avez forcément vue.
Dans la feuille liste qui se crée, il y a des cellules au format address : $x$x.
si on clique sur une cellule qui n'est pas de ce "format",
J'aimerais ajouter un truc : msgbox (alerte);
ca marche si je clique une cellule vide et que j'ai mis ca
If target.value = " " then...
msgbox " Vous devez cliquer une adresse"
Comment on pourrait demander ca en VBA si la cellule n'est pas
vide est remplie autrement que par une écriture $x$x ??
Ca devrait ressembler à peu près à ca mais évidement c'est pas bon.🙄
If not target.value = format.address then...
J'ai pas mal cherché mais....
Merci à tous et bonne soirée.
 
Re : Message Alerte si click sur cellule qui n'est pas une adresse ( $x$x)

Bonjour papapaul

Une façon de faire peut-être:

Code:
If Not Left(Target.Value, 1) = "$" Then MsgBox "Pas Bon"

Des cellules qui commencent par "$" c'est pas courant donc y peu de risque d'erreur.

A+
 
Re : Message Alerte si click sur cellule qui n'est pas une adresse ( $x$x)

Salut papapaul(content de te croiser)
Bonjour le fil

Voilà ce que j'ai fait

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  
  If Not Intersect(Target, Range("A1:A20")) Is Nothing Then
      If Target.Rows.Count > 1 Then Exit Sub
               If InStr(1, Target.Value, "$") = 0 Then _
                                MsgBox "Attention pas d'adresse"
  End If
  
End Sub
permet de traiter les Adresses $A$1,$A1,A$1 etc etc Lol
Bonne fin de Journée

à adapter biensur
 
Re : Message Alerte si click sur cellule qui n'est pas une adresse ( $x$x)

🙂 Merci P.O
Je viens de tester, ca colle pas.
Avec les cellules vides oui mais pas avec les autres.
Alors je joins une énième version de mon truc
en espérant que ce soit plus clair.
Vive XLD
 
Re : Message Alerte si click sur cellule qui n'est pas une adresse ( $x$x)

🙂 Oups salut, Chti, on s'est croisé.
J'ai regardé vite fait ,
je crois que ca colle pas non plus.
Ci-dessous le code que je souhaite "fignolé"
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim adresse As String, feuille As String
If Sh.Name = "Liste" Then
adresse = Target.Value: feuille = Range("A1").Value ' Recup des données
Application.EnableEvents = False ' Annuler l'intercepteur d'évenement
If Target.Value <> "" Then
Sheets(Range("A1").Value).Select ' Selection de la feuille
On Error Resume Next
Sheets(feuille).Range(adresse).Select ' Selection de la cellule
Selection.Interior.ColorIndex = 33
UserForm1.Hide
Else
If Target.Value = "" Then
MsgBox "Vous devez cliquer une adresse"
End If

End If
Application.EnableEvents = True
' Remise en place de l'intercepteur d'évenement
End If
'Unload UserForm1
End Sub

Je continue à creuser ce point de détail, c'est pour faire joli.

@+
 

Pièces jointes

Re : Message Alerte si click sur cellule qui n'est pas une adresse ( $x$x)

re
voilà ce que j'ai bidouillé et qui semble fonctionner

Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim adresse As String, feuille As String
If Sh.Name = "Liste" Then
adresse = Target.Value: feuille = Range("A1").Value
' Recup des données
Application.EnableEvents = False
' Annuler l'intercepteur d'évenement
If [B][COLOR=blue]Not InStr(1, Target.Value, "$") = 0[/COLOR][/B] Then
       Sheets(feuille).Select
' Selection de la feuille
On Error Resume Next
Sheets(feuille).Range(adresse).Select ' Selection de la cellule
Selection.Interior.ColorIndex = 33
'UserForm1.Hide
Else
MsgBox "Vous devez cliquer une adresse"
End If
End If
Application.EnableEvents = True ' Remise en place de l'intercepteur d'évenement
'Unload UserForm1
 
End Sub
à voir
Bonne fin de Soirée
 
Re : Message Alerte si click sur cellule qui n'est pas une adresse ( $x$x)

🙁 Rebonsoir Chti,
J'ai recopier strictement ton essai dans mon thisworkbook,
ca ne fonctionne pas 😕
quelquechose m'échappe peut-être mais quoi ??
Essaye avec mon fichier joint ci-dessus si tu l'a pas déja fait.
On va bien y arriver 🙄
 
Re : Message Alerte si click sur cellule qui n'est pas une adresse ( $x$x)

Re,

Si je comprends bien tu veux interdire la sélection d'une cellule si elle ne contient pas "$x$x". C'est bien ca ? Dans ce cas essaye avec ca, ca fonctionne bien chez moi.

Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim adresse As String, feuille As String
If Sh.Name = "Liste" Then
adresse = Target.Value: feuille = Range("A1").Value  ' Recup des données
Application.EnableEvents = False ' Annuler l'intercepteur d'évenement
If Left(Target.Value, 1) = "$" Then
    Sheets(Range("A1").Value).Select ' Selection de la feuille
    On Error Resume Next
    Sheets(feuille).Range(adresse).Select ' Selection de la cellule
    Selection.Interior.ColorIndex = 33
    UserForm1.Hide
    Else
     MsgBox "Vous devez cliquer une adresse"
End If
Application.EnableEvents = True
' Remise en place de l'intercepteur d'évenement
End If
'Unload UserForm1
End Sub
A+

Edit : La solution de ChTi160 fonctionne trés bien aussi chez moi
 
Dernière édition:
Re : Message Alerte si click sur cellule qui n'est pas une adresse ( $x$x)

Salut papapaul
Arffffffffff tu l'appelles L'Usine et effectivement c'est une usine, tu l'as connait bien lol

Trop de procèdures se chevauchent Activate ,Change, Select Lol
tu mets donc des Application.EnableEvents =False , True lol et ca c'est pas good

car ca inhibe l'ensemble des procèdures événementielles ,j'ai essayé mais je n'y suis pas arrivé
je suis le fil et desque je le peux j'essaye de faire mieux Lol

ton userform s'ouvre à tout moment Lol et même quand il ne faut pas Lol

Bonne fin de Soirée
 
Re : Message Alerte si click sur cellule qui n'est pas une adresse ( $x$x)

🙂OUF, merci Btqr,
Je crois que la nuance avec la solution de Chti est que fallait mettre
If Left(Target.Value, 1) = "$" Then
juste après
Application.EnableEvents = False ' Annuler l'intercepteur d'évenement
Apparement c'est bon. Merci merci
Et puis Chti, d'accord c'est une sacrée usine, mais
c'est volontairement que je veux faire apparaître l'usf
à chaque clicque sur une feuille sauf quand c'est la feuille liste
ou une des feuilles ou je viens de mettre la couleur.
Le principe c'est que je récupère des feuilles de différentes
agences ou il y à toujours, des fois peu mais parfois beaucoup
d'erreurs de saisies. 😡 Donc je colle ces feuilles dans mon usine
au fur et à mesure que je les recois et en cliquant
le nouvel onglet ainsi crée, je peux activer
ce fameux usf avec les différentes facons de rechercher
les éventuels doublons.
Il ne doit en principe y avoir, sauf exception (c'est moi qui décide)
aucune donnée identique sur aucune cellule de toute ces feuilles.
Certaines feuilles ayant plusieurs centaines
de lignes et de nombreuses colonnes, mon bidule me permet
de mieux repérer les erreurs. Ensuite je modifie ou non
et retourne ces feuilles à l'expéditeur.
Alors évidement mes codes sont plus que tordus mais
je pense que ca fonctionne pas si mal si on fait
bien attention à l'"initialisation des listes feuille et colonnes
en fonction de la nouvelle feuille cliquée.
J'espère que tu comprends mieux le pourquoi de mon bricolage.
On doit surement pouvoir faire mieux mais avec
à peine 7 mois de VBA, grace à tous et XLD,
je suis pas mécontent de mon truc.
Je sais qu'il y a des codes inutiles voire même totalement faux
mais j'ai tellement ramer, que j'ose pas trop modifier.
Si vous constatez des bugs, ou si vous voyez des moyens d'"alléger"
Dites le moi, je continuerais à progresser.
Merci à tous, jamais fini avec XLD😉
 
- 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

Réponses
3
Affichages
248
Retour