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 :

Afficher la valeur d'une cellule dans un textbox [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut Afficher la valeur d'une cellule dans un textbox
    Salut le forum

    J'ai deux fichiers.
    Le premier intitulé DEPART et le second ARRIVE.
    Le premier fichier contient un usf et je souhaite que la valeur du textbox1 soit la valeur de la cellule A2 du second fichier (sachant que ce fichier se trouve dans un dossier "ZOMB" du disque local C).
    J'allais pouvoir m'en sortir si la valeur du textbox1 était dans une feuille du même fichier mais fichier différents je ne sais pas.
    NB : la solution devra prendre en compte la possibilité que le fichier ARRIVE soit fermé ou ouvert.

    Merci pour vos contributions

  2. #2
    Membre actif Avatar de pastis.vi
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2008
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 251
    Points : 209
    Points
    209
    Par défaut
    Bonjour capi,

    tu places ce code dans ton userform et le tour est joué :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_Initialize()
     
    Workbooks.Open ("C:\Users\toto\Desktop\ZOMB\ARRIVEE.xlsx")
    TextBox1 = Workbooks("ARRIVEE.xlsx").Sheets("Feuil1").Range("A2").Value
     
    End Sub
    Il est possible d'utiliser des variables pour les chemins et noms mais ça te donne le résonnement.

  3. #3
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Salut pastis.vi

    Merci pour votre solution et je m'excuse du temps mis pour répondre.
    Je viens de tester mais ta solution comporte des limite.
    Si le fichier est déjà ouvert, il y'a un débogage.
    Il faut noter que le fichier se trouve dans un espace commun (OPENSPACE) ce qui signifie que si quelqu'un l'ouvre déjà, il ne fonctionne pas. C'est une base de donnée.
    Je souhaite une solution inter-agissant avec une base de donnée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub userform_initialize()
     
    OpenConnexion Fichier
     
    Cnx.Close
    Set Cnx = Nothing
    End Sub
    A partir du bout de code ci-dessus quelqu'un pourrait-il m'aider pour qu'à l'ouverture de mon usf, le textbox1 prenne la valeur de la feuille FORMULE!A2?
    Le nom de l'entête (en A1) de la feuille FORMULE est "NUM_OPPORTUNITE"
    Merci pour vos éventuelles contributions

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je ne comprends pas ce que tu veux faire.
    ajouter et/ou modifier des ligne dans un fichier partagé?

    en utilisant ADO pour éviter d'ouvrir et refermer le fichier si il est ouvert par un autre utilisateur?

  5. #5
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Bonsoir rdurupt et le forum

    Merci pour votre intervention. Il faut dire que j'ai un usf de facturation qui se trouve dans le fichier "Depar". Je souhaite faire apparaitre le numéro de la facture qui se trouve dans le fichier "arrivé" et plus précisément dans la cellule a2 de la feuille "formule". Le nom de l'entête en a1 sintitule Num_opport.
    Comment faire pour qu'à l'ouverture de mon usf, le numéro de la facture s'affiche dans le textbox1?
    Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je suis parti du principe que le N° Facture était toujours en A2!
    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
    Private Sub UserForm_Initialize()
    Me.TextBox1 = numeroFacture("C:\MyTest\Classeur2.xlsx", "Feuil1", "A2")
    End Sub
    Function numeroFacture(Classeur As String, Feuille As String, Celulle As String) As String
    Dim Cn As Object
    Dim Sql As String
    Dim RS As Object
    If Right(Feuille, 1) <> "$" Then Feuille = Feuille & "$"
     Set Cn = CreateObject("ADODB.Connection")
      With Cn
            .Provider = "Microsoft.Jet.OLEDB.4.0"
            .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
                & Classeur & ";Extended Properties=""Excel 12.0;HDR=NO;"""
            .Open
        End With
     ' Cn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & Classeur
      Sql = "select  * From [" & Feuille & Celulle & ":" & Celulle & "] "
      Set RS = CreateObject("ADODB.RecordSet")
      RS.Open Sql, Cn
      If RS.EOF = False Then numeroFacture = RS(0).Value
      RS.Close
      Cn.Close
      Set RS = Nothing
      Set Cn = Nothing
    End Function

  7. #7
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Bonjour rdurupt

    Merci pour le code.
    Je viens de le tester mais je rencontre un message d'erreur du genre:
    Le moteur de base de données Microsoft Access n’a pas pu trouver l’objet Feuil4$A2 :A2. Vérifiez qu’il existe et que vous avez correctement entré son nom et son chemin d’accès. Si Feuil4$A2 :A2 n’est pas un objet local, vérifiez la connexion réseau, ou contactez l’administrateur du serveur
    Y a-t-il des adaptations à faire?
    Comme vous le savez déjà, le chemin d'accès de mon fichier est le suivant:
    "C:\ZOUM\BASE_DE_DONNEES.xlsx"
    Je reste à votre disposition pour tout complément d'informations
    Cordialement

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    la feuille ou ce trouve le N° Facture s'appelle Feuil4? ou Facture? ou data? ou que s'ais-je?

    quel est le nom de l'onglet?

    Me.TextBox1 = numeroFacture("C:\ZOUM\BASE_DE_DONNEES.xlsx", "Facture", "A2")

  9. #9
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Bonjour rdurupt

    Le nom de l'onglet est "FORMULE".
    J'ai corrigé et ca fonctionne comme je le souhaitais.
    Quelles sont toujours merveilleuses vos solutions.
    Que DIEU vous bénisses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Afficher la valeur d'une cellule dans un TextBox
    Par Marion3 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/08/2014, 11h53
  2. Réponses: 1
    Dernier message: 10/04/2014, 08h22
  3. [XL-2007] Comment afficher la valeur d'une cellule dans un textbox
    Par alexworks dans le forum Excel
    Réponses: 2
    Dernier message: 24/09/2013, 12h46
  4. Réponses: 11
    Dernier message: 25/08/2012, 02h01
  5. Réponses: 6
    Dernier message: 02/03/2011, 17h04

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