IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

UserForm avec liaison dans un autre classeur


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 294
    Points : 284
    Points
    284
    Par défaut UserForm avec liaison dans un autre classeur
    Bonjour à tous : Est-il possible à partir d’un UserForm de faire appel à un fichier extérieur

    Voici le début du code que j’utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub UserForm_Initialize()
     Set f = Sheets("tarif") 
     choix1 = f.Range("A2:E" & f.[A65000].End(xlUp).Row).Value
     For i = 2 To f.[A65000].End(xlUp).Row
    Ici la feuille est contenue dans le fichier qui contient l’ UserForm
    Ce classeur aurait pour emplacement D:\Devis\Tarif PR -- (le nom de la feuille est nommé) Tarif (par exemple)
    Le nom du fichier sur lequel je travail est nommé Devis emplacement D:\Devis\Devis
    Le but est de déplacer la feuille tarif pour la rende indépendante du fichier que j’utilise cette feuille contient environ 20000 lignes
    Créer des liaisons entre classeurs ne me pose pas de problèmes mais je ne sais pas comment faire le lien lorsque je fais appel par l’UserForm
    Je pense qu’il faut modifier la seconde ligne du code
    En somme un UserForm peut ‘il faire appel à un fichier enregistré ailleurs que sur le fichier sur lequel je travail ?
    Pardonnez mois je ne suis qu’un apprenti dans le domaine des macros
    Par avance merci pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Un exemple dans les fichiers joints :

    - Fichier boite de dialogue : Pièce jointe 207412

    - Fichier tarifs : Pièce jointe 207413

    Le code ci-dessous ouvre le fichier Tarifs, charge une matrice des prix, et referme le fichier après chargement.
    Nb : On peut s'affranchir d'une matrice en travaillant directement avec un range, mais c'est ma façon de travailler.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    Option Explicit
     
    Public Continuer As Boolean
    Public AireProduits As Range
    Public CelluleProduits As Range
     
     
    Public MatriceTarifs As Variant
     
     
    Sub VisualiserLesProduits(ByVal FeuilleProduit As Worksheet, ByVal TitreProduit As Long)
     
    Dim I As Long
    Dim DerniereLigneProduit As Long
     
         On Error GoTo ErrorHandler
     
         ' Répertoire et nom du fichier à adapter
         ChargementMatriceTarifs "C:\Users\XXXX", "Tarifs 2016-04-20.xlsx"
     
         With FeuilleProduit
     
              DerniereLigneProduit = .Cells(.Rows.Count, 1).End(xlUp).Row
              Set AireProduits = .Range(.Cells(TitreProduit + 1, 1), .Cells(DerniereLigneProduit, 2))
     
              With Form_Produit
                 .List_Produits.List() = AireProduits.Value
                 .Show
              End With
     
              Set AireProduits = Nothing
     
         End With
     
         Exit Sub
     
     
    ErrorHandler:
            MsgBox Err.Number
     
    End Sub
     
     
    Sub ChargementMatriceTarifs(ByVal RepertoireFichier As String, ByVal NomFichier As String)
     
    Dim Wb As Workbook
    Dim WbTarifs As Workbook
     
        Continuer = True
        For Each Wb In Workbooks
        Select Case Wb.Name
            Case NomFichier
                Continuer = False
                Exit For
        End Select
        Next Wb
     
        If Continuer = True Then
            Set WbTarifs = Workbooks.Open(Filename:=RepertoireFichier & "\" & NomFichier)
        Else
            Set WbTarifs = Workbooks(NomFichier)
        End If
     
        ' Chargement de la matrice
        MatriceTarifs = WbTarifs.Sheets("Tarifs").Range("ListeTarifs")
     
        ' Fermeture du fichier des produits
        If Continuer = True Then
            Application.DisplayAlerts = False
            Workbooks(NomFichier).Close savechanges:=False
            Application.DisplayAlerts = True
        End If
     
        Set WbTarifs = Nothing
     
    End Sub

    La boite de dialogue affiche le prix de la référence choisie contenu dans la matrice. Le bouton Valider met à jour le libellé et le prix.


    Pièce jointe 207414


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
     
    Option Explicit
     
    Private Sub BoutonRetour_Click()
     
         Continuer = False
         Unload Form_Produit
     
    End Sub
     
    Private Sub BoutonValider_Click()
     
     
    Dim CtrI As Long
    Dim CtrJ As Long
     
        If List_Produits.ListCount > 0 Then
            For CtrI = 0 To List_Produits.ListCount - 1
                If List_Produits.Selected(CtrI) = True Then
                     For Each CelluleProduits In AireProduits
                         If CelluleProduits = List_Produits.List(CtrI) Then
                            With CelluleProduits
                                 .Offset(0, 1).Value = LabelLibelle
                                 .Offset(0, 2).Value = CDbl(LabelPrixTarif)
                                 .Offset(0, 2).NumberFormat = "#,##0.00 €"
                            End With
                            Exit For
                         End If
                     Next CelluleProduits
                End If
            Next CtrI
     
         End If
     
     
     
    End Sub
     
     
    Private Sub List_Produits_Click()
     
    Dim CtrI As Long
    Dim CtrJ As Long
     
        If List_Produits.ListCount > 0 Then
            For CtrI = 0 To List_Produits.ListCount - 1
                If List_Produits.Selected(CtrI) = True Then
     
                    For Each CelluleProduits In AireProduits
                         If CelluleProduits = List_Produits.List(CtrI) Then
                            Application.Goto CelluleProduits.Offset(-10, 0), Scroll:=True
                            CelluleProduits.Activate
                            Exit For
                         End If
                     Next CelluleProduits
     
                     For CtrJ = LBound(MatriceTarifs, 1) To UBound(MatriceTarifs, 1)
                         If MatriceTarifs(CtrJ, 1) = List_Produits.List(CtrI) Then
                            LabelLibelle = MatriceTarifs(CtrJ, 2)
                            LabelPrixTarif = Format(MatriceTarifs(CtrJ, 3), "#,##0.00 €")
                            Exit For
                         End If
                     Next CtrJ
     
                End If
            Next CtrI
     
         End If
     
    End Sub
     
    Private Sub UserForm_Click()
     
    End Sub

    La commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Application.Goto CelluleProduits.Offset(-10, 0), Scroll:=True
    , permet de positionner la référence choisie 10 lignes par rapport au haut de l'écran (Utile si vous avez une grande quantité de références).


    Cordialement.

  3. #3
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 294
    Points : 284
    Points
    284
    Par défaut
    Bonsoir : Eric avant tout merci pour votre aide. l'UserForm que vous me proposez ne correspond pas tout à fait à ce que je cherche
    voici ci joint un fichier trouvé sur le site de jacques Boisgontier bien connu des développeurs que j'ai adapté à mon type de réalisation

    Le fait de double cliquer appel l'UserForm puis je sélectionne en tapant le début d'une référence puis valide pour incorporer cette référence au fichier.
    Notez que mon tarif est actuellement dans le même fichier. le but est bien sur de dissocier les 2 fichiers comme je l'ai soumis plus haut.
    Dans l'UserForm est'il possible de verrouiller l'affichage dans les textBox 1 à 5 en effet on peur modifier le prix afficher dans les textBox et lors de la validation le prix est ainsi modifié.

    DevisIntuitif.xlsm

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par patmicro Voir le message
    Dans l'UserForm est'il possible de verrouiller l'affichage dans les textBox 1 à 5 en effet on peur modifier le prix afficher dans les textBox et lors de la validation le prix est ainsi modifié.
    Bonjour,

    Ci-joint, une version modifiée avec les textbox bloqués. Au double-clic, la matrice Choix1 est chargée après ouverture et recherche de l'onglet tarif en cours. Le fichier tarif est fermé une fois la matrice chargée.
    Les répertoire tarif, nom du fichier tarif, onglet tarif en cours sont dans l'onglet Paramètres.


    - Fichier devis : Pièce jointe 207528

    - Fichier Tarif : Pièce jointe 207529

    J'ai ajouté un Textbox pour saisir la quantité et un label pour le coût total HT

    Pièce jointe 207530

    J'ai modifié vos formules Prix total HT dans votre tableau pour arrondir à deux décimales près.

    Cordialement.

  5. #5
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 294
    Points : 284
    Points
    284
    Par défaut
    Bonsoir Eric : Un grand merci pour ton aide. Désolé de te faire encore appel. J’ai un souci, lorsque l’on veut utiliser le fichier Devis je dois ouvrir le fichier tarif pour pouvoir faire appel à l’userform si un message d'erreur apparait. Lorsque l’userform est ouvert le fichier tarif se ferme systématiquement. Le problème quand je veux compléter les cellules suivantes je dois à nouveau ouvrir le fichier tarif.
    Le fichier actuel est un fichier de démo afin d’intégrer par la suite ces données dans un fichier de base ou appelé fichier modèle que j’utilise actuellement au travail. Pour tout expliquer ce fichier de base est complété par mes collèges. Lorsqu’ils clic sur le bouton enregistrer, le fichier est fermé automatiquement et enregistré dans un dossier pour y être traité par mes soins. Le fichier de base est de nouveau libre pour un nouvel enregistrement.
    Ma question : Est ’il possible d’ouvrir le fichier tarif à l’ouverture du fichier devis intuitif et de le laisser ouvert le temps de compléter les cellules puis de fermer le fichier tarif lors de l’enregistrement.

    Par avance merci et désolé de te solliciter de nouveau.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par patmicro Voir le message
    Ma question : Est -il possible d’ouvrir le fichier tarif à l’ouverture du fichier devis intuitif et de le laisser ouvert le temps de compléter les cellules puis de fermer le fichier tarif lors de l’enregistrement.
    Bonjour,

    Une nouvelle version Pièce jointe 207641

    A l'ouverture de la boite de dialogue, Tarifs reste ouvert. Sur clic du bouton Retour, un message demande si le fichier Tarifs doit être fermé avec sauvegarde. Si Non, le fichier Tarifs reste ouvert.

    Nb : Le lancement de la boite de dialogue ne se fait plus dans le module de la feuille devis, mais dans le module standard.

    Cordialement.
    Dernière modification par AlainTech ; 30/04/2016 à 20h20.

  7. #7
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 294
    Points : 284
    Points
    284
    Par défaut
    Bonjour Eric : Désolé de t'importuner à nouveau. Il ne faut pas te coucher à 3 heures du matin pour mon problème.
    Ceci étant, ne serait -il pas plus simple de demander l'ouverture du fichier tarif à l'ouverture du fichier devis et de le fermer automatiquement lors de l'enregistrement de mon fichier devis. ceci éventerait d'avoir la boite de dialogue qui demande si l'on veut laisser ouvert ou fermer le fichier tarif.

    Encore merci pour ton aide mais je ne suis qu'un amateur dans ce domaine des macros.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par patmicro Voir le message
    Il ne faut pas te coucher à 3 heures du matin pour mon problème.
    Erreur, je ne fais que me lever.

    Ceci étant, ne serait 'il pas plus simple de demander l'ouverture du fichier tarif à l'ouverture du fichier devis et de le fermer automatiquement lors de l'enregistrement de mon fichier devis. ceci éventerait d'avoir la boite de dialogue qui demande si l'on veut laisser ouvert ou fermer le fichier tarif.
    Je te propose de placer plutôt l'événement suivant dans le module ThisWorkbook de ton fichier devis.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
            On Error Resume Next
            FermetureFichiers "Tarifs.xlsm", True
    End Sub
    J'ai modifié la procédure FermetureFichiers pour vérifier que le fichier Tarifs.xlsm était toujours ouvert :
    Attention, la sauvegarde du fichier Tarifs est automatiquement réalisée. Au cas, où il ne faudrait pas sauvegarder, il faut préalablement fermer le fichier Tarifs avant de fermer le fichier Devis.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    Sub FermetureFichiers(ByVal NomFichier As String, ByVal AvecSauvegarde As Boolean)
     
    Dim Wb As Workbook
     
        For Each Wb In Workbooks
            Select Case Wb.Name
                Case NomFichier
                     Application.DisplayAlerts = False
                     If AvecSauvegarde = False Then Workbooks(NomFichier).Close savechanges:=False
                     If AvecSauvegarde = True Then Workbooks(NomFichier).Close savechanges:=True
                     Application.DisplayAlerts = True
                     Exit For
            End Select
        Next Wb
     
    End Sub

    Le fichier modifié Pièce jointe 207684.

    Cordialement.

  9. #9
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 294
    Points : 284
    Points
    284
    Par défaut
    Bonsoir Eric : Merci cela vas fonctionner. Juste toujours un petit problème lors de l'appel de l'UserForm pour ouvrir le fichier Tarif, j'ai toujours un message d'erreur Impossible d'ouvrir le fichier Tarif Pourtant je pense avoir bien respecté le chemin d'accès. ci-joint une copie d'écran.

    Nom : Capture.PNG
Affichages : 1088
Taille : 16,9 Ko

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par patmicro Voir le message
    Bonsoir Eric : Merci cela vas fonctionner. Juste toujours un petit problème lors de l'appel de l'UserForm pour ouvrir le fichier Tarif, j'ai toujours un message d'erreur Impossible d'ouvrir le fichier Tarif Pourtant je pense avoir bien respecté le chemin d'accès. ci-joint une copie d'écran.
    Bonjour,

    Pour copier un chemin, je suppose que tu procèdes comme moi :

    Pièce jointe 207735


    Sinon, si la syntaxe est bien respectée, essaye de placer un DoEvents dans la macro ouvrant le fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        If Continuer = True Then
            DoEvents
            Workbooks.Open Filename:=RepertoireFichier & "\" & NomFichier
        Else
            WbDejaOuvert.Activate
        End If
    Si cela n'est pas suffisant, un autre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
        DoEvents
        OuvertureFichiers FichierTarif, RepertoireTarif
    Sinon, je ne vois pas, cela fonctionne correctement chez-moi.

    Cordialement.

  11. #11
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 294
    Points : 284
    Points
    284
    Par défaut
    Bonjour Eric: Désolé de ne pas avoir répondu plus vite j'étais occupé à d'autre choses plus importantes. ok tout est rentré dans l'ordre je me suis fait piégé par le chemin du repertoire je suis sous windows 10.
    Dernière question je voudrais mettre un message dans le code ci-joint si la quantité n'est pas saisie avec un retour sur la TextBox quantité avec si possible le curseur en attente de saisie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Private Sub BoutonValider_Click()
     
            If Me.TextBoxReference <> "" Then
               With ActiveCell
                    .Offset(0, 0) = ComboBoxChoixReference
                    .Offset(0, 1) = TextBoxDesignation
     
           'Boite de dialogue si quantité non tapée
                    If MsgBox("INFORMATION ! Veuillez saisir une quantité !!!", 64, "INFORMATION") = vbOK Then
           End If
     
     
                    .Offset(0, 4) = CDbl(TextBoxQuantite)
                    .Offset(0, 5) = CDbl(TextBoxPrixHT)
                    '.Offset(0, 4) = TextBoxConstructeur 'désactive l'affichage du constructeur dans le tableau dans le tableau
               End With
               Unload Me
            End If
     
    End Sub
    Autre petit souci : Je vais contrôler sur un autre pc. Lorsque j'appel l'UserForm celui-ci désactive mon pavé numérique

    Par avance merci et bon week end.

  12. #12
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par patmicro Voir le message
    Dernière question je voudrais mettre un message dans le code ci-joint si la quantité n'est pas saisie avec un retour sur la TextBox quantité avec si possible le curseur en attente de saisie.
    Bonjour,

    J'ai mis un test dans le code de validation.

    Autre petit souci : Je vais contrôler sur un autre pc. Lorsque j'appel l'UserForm celui-ci désactive mon pavé numérique
    Si tu as lu les messages sur le sujet, la solution n'est pas garantie. Cf messages Probleme-touche-verrouillage-numlock-demarrage

    Et celui-ci de Eliot.Raymond, Parmi et Olaxius dont je me suis inspiré Soucis-touche-verr-num

    En tête du module :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
    Et dans la procédure ChargerLaMatriceDesTarifs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                     If GetKeyState(vbKeyNumlock) = 1 Then
                       SendKeys "{NUMLOCK}"  'Simule l'appui sur la touche "VERR.NUM"
                     End If
    Merci à eux pour leur contribution.

    Le fichier modifié : Pièce jointe 207796

    Cordialement.

  13. #13
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour.

    Citation Envoyé par patmicro Voir le message
    Lorsque j'appel l'UserForm celui-ci désactive mon pavé numérique
    L'UserForm n'y est pour rien, c'est l'utilisation de l'instruction VBA SendKeys !

    Ne pas l'utiliser alors au profit de celle originale de Windows de l'objet WScript.Shell

    ______________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  14. #14
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Marc-L Voir le message
    Ne pas l'utiliser alors au profit de celle originale de Windows de l'objet WScript.Shell
    Salut Marc,

    Merci pour l'info.

    Cordialement.

  15. #15
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 294
    Points : 284
    Points
    284
    Par défaut
    Bonsoir Eric et Marc: Un très grand merci pour votre participation. Mes soucis sont résolus et j' ai parfaitement réussis à adapter tous ces codes à mon fichier définitif.

    A bientôt sur ce forum.

  16. #16
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 294
    Points : 284
    Points
    284
    Par défaut
    Bonjour à tous les lecteurs du forum:
    Désolé d'ouvrir à nouveau ce post. Eric et Marc m'avais beaucoup aidé sur le sujet et je tient encore à les remercier
    Voici ma question sur L'Userform cité dans les exemples de ce post le bouton valider la saisie ne fonctionne plus, à priori depuis le passage à Windows 10 je suis obligé de valider 2 fois sur la touche Enter.

    Que peut on modifier pour résoudre ce petit problème.
    Voici le code que vous pouvez retrouver dans les exemples du post

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Private Sub BoutonValider_Click()
     
            Select Case Me.TextBoxQuantite
                   Case 0, ""
                        MsgBox "Saisissez une quantité!", vbCritical
                        Me.TextBoxQuantite.SetFocus
                        Exit Sub
            End Select
     
            If Me.TextBoxReference <> "" Then
               With ActiveCell
                    .Offset(0, 0) = ComboBoxChoixReference
                    .Offset(0, 1) = TextBoxDesignation
                    .Offset(0, 2) = CDbl(TextBoxQuantite)
                    .Offset(0, 3) = CDbl(TextBoxPrixHT)
                    .Offset(0, 4) = TextBoxConstructeur 'désactive l'affichage dans le tableau
               End With
               Unload Me
            End If
     
    End Sub
    Désolé je n'ai jamais compris comment mettre le code entre les balises. une petite explication serait la bienvenue afin que je puise respecter la procédure.

    Par avance merci pour votre aide.

  17. #17
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par patmicro Voir le message
    Bonjour,

    J'ai Windows 10 64 bits et Excel 2010 32 bits. Tout fonctionne correctement.

    En ce qui concerne l'insertion du code dans le message :

    Pièce jointe 290511

  18. #18
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 294
    Points : 284
    Points
    284
    Par défaut
    OK merci pour votre aide et bon weekend

Discussions similaires

  1. Réponses: 18
    Dernier message: 18/11/2013, 10h50
  2. [XL-2003] Rompre des liaisons dans un autre classeur
    Par steps5ive dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/10/2012, 18h26
  3. Enregistrer des données d'un Userform dans un autre classeur
    Par LinC49 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/01/2011, 17h51
  4. TCD avec des donnees dans un autre classeur
    Par nana85 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/04/2008, 11h24
  5. lster userform.combobox avec les infos dans un autre classeur
    Par dkmix dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/10/2007, 22h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo