Excel VBA: Ouverture d'une userform si la cellule se remplit et ++
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Excel VBA: Ouverture d'une userform si la cellule se remplit et ++



  1. #1
    invitebb5fe566

    Lightbulb Excel VBA: Ouverture d'une userform si la cellule se remplit et ++


    ------

    Hello tout le monde!

    Voilà que je m'attaque à la programmation VBA, pas facile, j'ai pratiquement oublié tous les cours que j'avais suivis, je n'ai gardé que les grandes lignes...
    Bref, je souhaite rendre ce fichier à mon père qui s'en sert pour le référencement de ses clients. Vous avez le fichier en PJ.

    Objectif: lorsqu'un format d'encart publicitaire est sélectionné (colonne D), une userform s'ouvre dans laquelle on sélectionne les mois (édition mensuelle) pendant lesquels il y aura parution de cette encart.

    Problème principal 1: lorsque l'on choisit un format (colonne D), une userform s'ouvre toute seule (déjà créée, nommé MOIS)

    J'ai rentré cette formule mais rien ne se produit...
    If Range("D8") <> "" Then
    Mois.Show
    End If


    Problème secondaire :

    Dans la userform où sont sélectionnés tous les mois, comment faire pour que Excel copie le montant du format (colonne I) et le colle dans les cellules correspondant cases cochées dans la userform?
    Sachant que le top du top serait d'avoir une et une seule macro pour chaque ligne
    C'est à dire pour un format sélectionné en ligne 4 (en cellule D4), Excel copie le montant de l'encart qui s'affiche en I4. Dans la userform qui s'affiche, je sélectionne par exemple Septembre et Novembre, je valide et Excel a collé le montant contenu en I4 dans la colonne correspondant à Septembre et Novembre (que sur la ligne 4)

    Si vous avez la solution, ce serait super car ça me permettrait de me refamiliariser avec le vocabulaire et le fonctionnement de VBA.

    Merci d'avance!!

    -----
    Fichiers attachés Fichiers attachés

  2. #2
    invite8f1e9402

    Re : Excel VBA: Ouverture d'une userform si la cellule se remplit et ++

    Bonjour anais_totally

    Je crois que vous confondez les feuilles du classeur et les feuilles de Visual Basic. Ce sont des objets différents. Dans votre projet, vous n'avez créé aucune feuille.

    Ci joint un petit programme en Excel 2003 qui vous montre comment il faut faire.
    Quelques explications :

    1- Sous VBA, on crée une feuille dans laquelle on place 1 ListBox et 2 boutons (prérequis)

    2- Seules les cases de la colonne D doivent être réactives.
    Code:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If ActiveCell.Column <> 4 Then
            ' Si on ne clique pas dans la colonne D, rien ne doit se passer
            Exit Sub
        Else
            ' Sinon on affiche la feuille
            UserForm1.Show
        End If
    End Sub
    3- Lorsque la feuille VB s'affiche, on remplit la ListBox avec les dates trouvées dans la plage J3 : DY3
    Code:
    Private Sub UserForm_Activate()
        Dim I As Integer
        
        ListBox1.Clear
        For I = 10 To 129
            ListBox1.AddItem Cells(3, I)
        Next I
    End Sub
    4- Après avoir sélectionné la plage (sélection multiple), on exécute le code si l'utilisateur clique sur OK.
    Code:
    Private Sub Button_OK_Click()
        Dim Selected_Line As Long
        Dim I As Integer
        
        Selected_Line = ActiveCell.Row
        For I = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(I) = True Then
                Cells(Selected_Line, I + 10) = Cells(Selected_Line, 9)
            End If
        Next I
        Unload Me
    End Sub
    5- Si on clique sur le bouton annuler, on referme la feuille VB, sans exécuter le code.
    Code:
    Private Sub Button_Cancel_Click()
        Unload Me
    End Sub
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Attacher une image à une Cellule Excel
    Par inviteddefc4b3 dans le forum Logiciel - Software - Open Source
    Réponses: 10
    Dernier message: 18/11/2018, 11h26
  2. Userform VBA sous Excel
    Par invite15ce80a8 dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 08/04/2012, 00h57
  3. référence cellule Excel
    Par inviteb836950d dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 22/09/2009, 07h42
  4. formule excel - couleur cellule
    Par invitefa5b8744 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 07/08/2009, 21h26
  5. Compter le nbr de cellule sous excel
    Par invite2e834824 dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 27/04/2007, 13h24