Affecter une macro à une liste par validation

Bonjour,

Suite à mon post INDEX/EQUIV, je sais désormais comment une liste déroulante détecte une cellule disponible, -> Par macro.

Cependant, il m'est impossible d'ajouter une macro à une liste de validation. J'ai lu sur Internet qu'il fallait créer un onglet caché en référence à la cellule qui contient ma liste déroulante et d'utiliser Private Sub Worksheet_calculate()

Cependant, très novice dans les macros, je n'y arrive pas...

Si quelqu'un pouvait m'aider!

Merci beaucoup

Bonsoir

kiki57 a écrit :

Cependant, il m'est impossible d'ajouter une macro à une liste de validation.

Que veux-tu faire exactement ?

A te relire

Amicalement

Nad

Ds le forum index/equiv

https://www.excel-pratique.com/forum/viewtopic.php?t=8649&postdays=0&postorder=asc&start=10

Nad Dan m'a transmis un fichier avec une macro qui permet de detecter la cellule libre dans mon tableau et donc ainsi de le remplir.

J'ai étudié la macro et l'ai compris, mais par contre, je ne sais pas comment il a affecté la macro à la liste déroulante.

J'aimerais le procédé étape par étape de la mise en place de la macro.

Merci

Bonsoir,

Tu aurais du continuer sur ton fil : (non résolu)

https://www.excel-pratique.com/forum/viewtopic.php?t=8649&start=10&postdays=0&postorder=asc&highlight=

- Si tu veux parler de la macro "RangeTableau",

cette macro est lancée par le Private Sub de la feuil2

Claude.

Desolée, mais je pensais que comme c'etait une question différente, il était mieux de la mettre à part (pour que les autres puissent la trouver) .

Oui Mais je ne sais pas comment créer de private sub.

J'aimerais que vous me disiez ce que je dois faire, créer une macro par le visual basic? Créer une cellule cachée en référence à la liste?

Je suis vraiment perdue! J'ai essayé toute l'après-midi, mais je n'arrive pas à appliquer la macro à la liste.

re,

Pas de panique !

tu as eu sur ce fil plusieurs réponses, Nad, Dan et la mienne

de la-quelle parles-tu ?

Pour les explications, Cela ne t'avancera pas vraiment, il vaut mieux que tu commence par

faire de toutes petites macros. (exemple écrire "toto" dans la cellule D15)

Sert-toi de l'enregistreur de macro,

Outils/Macros/Nouvelle macro

à partir de là, tout ce que tu fais au clavier est enregistré en tant que macro, jusqu'à ce que

tu arrête l'enregistrement (Outils/Macros/Arrêter l'enregistrement)

Si tu bute sur un mot, tu positionne le curseur dessus et touche F1(pour aide)

Bon courage, il faut passer par là !

Claude.

J'ai déjà fait des macros.

Mais ici le problème est que je ne sais comment affecter la macro à la liste déroulante.

Je vous joint le fichier reel fini pour que vous compreniez mieux!

https://www.excel-pratique.com/~files/index.php

J'ai aussi normalement la macro enregistrer mais là je l'ai supprimé!

re,

ton lien n'est pas bon (joindre un fichier)

édit:

La macro qui agit sur ta liste validation est une macro événementielle, c'est pourquoi elle est

dans un private Sub Feuille et non dans un module.

dans VBA feuil2 :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
        If Not Application.Intersect(Target, Range("h2")) Is Nothing Then
        Call RangeTableau
        End If
End Sub

et dans un module :

Sub RangeTableau()
Dim i As Byte
    Range("f12").Select
    For i = 1 To 9
        If ActiveCell = "" Then
            ActiveCell = Range("h2")
            Exit Sub
        Else
            ActiveCell.Offset(1, 0).Select
        End If
    Next i
    Range("h2").Activate
End Sub

Mets ton fil précédent en résolu STP

Claude.

Merci Claude,

Désolée pour le retard, mais je me suis absentée quelques jours! Je vais essayer et vous tiendrez au courant.

Bonne journée

Bonsoir tout le monde,

Je tenais à tous vous remercier pour votre aide, grâce à cela, j'ai pu créer ma liste déroulante de A à Z.

Je vous en suis très reconnaissante.

A très bientôt,

Bonne soirée.

KIKI

Rechercher des sujets similaires à "affecter macro liste validation"