Userform ou Alerte

Bonjour à tous,

Je suis sur un projet pour lequel j’aimerais si possible avoir un coup de pouce. Il m’en faudra probablement plusieurs, mais commençons par le commencement.

Première difficulté rencontrée :

J’ai 2 feuilles, dans la première, je rentre les données en A :A.

Dans la deuxième je récupère ces données en A :A.

Je voudrais qu’en cliquant sur une cellule en A:A biensur, apparaisse un Userform (servant à renseigner les colonnes suivante de la mm ligne ) uniquement si la cellule est renseignée, dans le cas contraire, un message d’alerte signalant que la cellule est vide.

Je sais faire soit l’un soit , mais pas les deux.

Quelqu’un peut-il m’aider SVP ?

https://www.excel-pratique.com/~files/doc/87JcXClasseur1.xls

Cdlt,

S’acharner ne sert à rien, il suffit de patienter !

.

Bonsoir,

Le fichier joint va peut être apporter un début de solution à ton problème.

https://www.excel-pratique.com/~files/doc/billanne.xls

Cordialement,

Bonjour à tous,

Merci V_Elbie pour ton aide, pour le moment j’attends le flash ( humour ) pour l’alerte.

je suis sur un autre truc.

Je me demande s’il est possible de récupérer dans un label l’info contenue dans une cellule.

Je m’explique, J’ai une plage de 3 cellules A1 :B1 :C1, si je clic sur l’une des 3, puis-je récupérer l’info de la cellule A1 dans un label de l’userform qui s’ouvre.

Idem pour plage A2 :B2 :C2 etc…

Oooups dans l'EX ci-dessous j'ai mis A1, il faut comprendre A

https://www.excel-pratique.com/~files/doc/vGA5BClasseur1.xls

Cdlt,

S’acharner ne sert à rien, il suffit de patienter !

.

Bonjour,

Voir si le fichier joint te correspond.

https://www.excel-pratique.com/~files/doc/RA_cupCelluledsLabel.xls

Cordialement,

Bonjour,

V_Elbie en partant de ton code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim plage As Range
Set plage = Range("A1", Range("C65536").End(xlUp))
If Not Application.Intersect(Target, plage) Is Nothing Then
With Usf1
    .Label.Caption = Cells(Target.Row, 1)
    .Show
End With
End If
End Sub

Amicalement

Dan

Re,

.Label.Caption = Cells(Target.Row, 1) 

Merci ! J'en apprends tous les jours un peu plus... c'est ce que je cherchais à écrire, sans y parvenir, car mon code, je l'ai simplement obtenu avec l'enregistreur ! Je sais qu'on peut le simplifier, mais je ne trouve pas toujours le moyen.

Cordialement,

V_Elbie

Re V_Elbie, lut Nad-Dan,

En fait avec le 1er code, j’avais du mal, je n’arrivais pas à l’adapter.

Je ne savais pas comment ajouter 1 voir plusieurs collones.

Le 2ème me semble plus simple, en tout cas j’ai sus l’adapapter.

https://www.excel-pratique.com/~files/doc/xqTqoClasseur1.xls

Juste une question, à quoi correspond 65536 dans :

Set plage = Range("A1", Range("C65536").End(xlUp))

Merci à vous deux.

Cdlt,

S’acharner ne sert à rien, il suffit de patienter !

.

re,

Le 65536 est la dernière ligne de ta feuille (si tu n'es pas sous excel 2007)

L'instruction Set plage = Range("A1", Range("C65536").End(xlUp)) permet de définir la plage dans laquelle l'événement se produira. Dans ton cas, ce sera entre A1 et la dernière cellule remplie en colonne C.

Juste une remarque, cela suppose que tu as toujours une donnée 0 ou autre dans la colonne C car le contraire obligerait à changer le code.

Amicalement

Dan

Re Nad-Dan,

Si je comprends bien:

Dans mon projet, je n'aurais que 25 lignes en C, donc au delà l'USF n'apparaîtras pas?

Ci c'est ça, c'est nickel.

Cdlt,

S’acharner ne sert à rien, il suffit de patienter !

.

re,

Exact, tu as tout compris !

La macro s'éxécutera sur toute ta feuille mais ton USF ne s'ouvrira que pour cette plage.

Amicalement

Dan

Re,

OK encore merci

Cdlt,

S’acharner ne sert à rien, il suffit de patienter !

.

Edit Dan : mis résolu

Rechercher des sujets similaires à "userform alerte"