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

Excel Discussion :

Création d'un bouton avec une fonction de liaison de cellules entre deux fichiers excels


Sujet :

Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 0
    Points
    0
    Par défaut Création d'un bouton avec une fonction de liaison de cellules entre deux fichiers excels
    Bonjour à tous !

    Je débute en VBA et j'aimerais créer un bouton qui me permettrais de lier les données des cellules de mon fichier excel aux cellules d'un autre fichier excel.
    Donc, il faut que lorsque j'appuie sur le bouton, les données des cellules du premier fichier excel viennet se compléter aux cellules correspondantes du deuxième fichier excel.

    Un grand merci à quiconque apporterait des lumières sur mon problème.

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Il faut commencer par ouvrir ton fichier de destination avec la méthode Open de un Workbooks.

    Ensuite, tu transfère tes valeurs.
    En fonction de leur quantité et de leur disposition, plusieurs méthodes sont possibles. Entre autres :
    soit faire un simple = entre les propriétés Values des Range représentant ces cellules
    soit utiliser la méthode Copy sur ton Range de valeurs sources, accompagné éventuellement d'un PasteSpecial sur le Range des valeurs destination.

    Ensuite, sauvegardes ton fichier cible avec la méthode Save de Workbook.
    Puis tu n'as plus qu'à le fermer avec la méthode Close de Workbook.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 0
    Points
    0
    Par défaut
    Merci beaucoup Menhir, ta solution est très efficace !
    J'avais oublié une chose, je dois faire en sorte qu'il y ai un retour à la ligne si la ligne concernant une réservation est déjà remplie.
    J'ai du mal à le réaliser, aurais tu une idée ?
    Je pensais rajouter une boucle for each mais j'ai du mal à la mettre en place.
    Merci à toi

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par ITMMartin Voir le message
    J'avais oublié une chose, je dois faire en sorte qu'il y ai un retour à la ligne si la ligne concernant une réservation est déjà remplie.
    Je ne comprends pas ta demande. Il faudra être plus clair et plus précis.
    N'oublie pas que ceux qui interviennent ici ne connaissent rien de ton application et ne voient pas ton fichier (et, pour la plupart, ne souhaitent pas le voir).
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 0
    Points
    0
    Par défaut
    Oui, je comprends, autant pour moi, excuse-moi !

    Pour être précis, les données du premier fichier concerne une date (une collection), elles vont être copiés dans un tableau qui possède déjà plusieurs collections de ces données puisque chaque collection de données qui va arriver concerne une date différente.
    Chaque collection doit être enregistrée sur une nouvelle ligne.
    Donc lorsque j'enregistre la collection, il faut qu'il puisse parcourir le tableau pour qu'il puisse enregistrer dans une ligne vierge.
    N'hésite pas à me dire si tu ne comprends pas à nouveau, je reformulerai.

    Merci beaucoup de m'aider !

  6. #6
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    En imaginant que tes dates sont enregistrées dans la colonne A de ton fichier destination, la ligne suivante te donnera la valeur de la dernière ligne utilisée (à mettre dans une variable, par exemple).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(Rows.Count,1).End(xlUp).Row
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 0
    Points
    0
    Par défaut
    D'accord, je vais procéder de cette manière alors.

    Merci beaucoup pour ces précieux conseils Menhir !

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 0
    Points
    0
    Par défaut
    C'est bon j'ai à peu près quelque chose, il manque deux méthodes encore.
    J'ai un peu de mal à le programmer, quelqu'un pourrait m'éclaircir ?

    Je dois créer un bouton permettant d'enregistrer les données de la feuille de contrôle sur le tableau de synthèse.

    Le bouton doit se trouver sur la feuille de contrôle, il doit permettre l'enregistrement d'un nouveau
    contrôle à chaque enregistrement (il ne doit pas écraser les ancients contrôles déjà enregistrés).

    Le code :

    Private Sub CommandButton1_Click()

    Function Soumettre()

    Workbooks.Open "Suivi des contrôles en pise vpp - v05 10 2015 new"
    ActiveWorkbook.RunAutoMacros xlAutoOpen

    Cells(Rows.Count, 1).End(xlUp).Row

    Worksheets("").Range("").AutoFilter _
    field:=1, _
    Criteria1:="", _
    VisibleDropDown:=False

    Worksheets("").Range(":").Copy _
    Destination:=Worksheets("").Range("")



    End Function

    End Sub

    Je rencontre des difficultés dans les destinations d'enregistrement et la syntaxe des méthodes.

    Merci d'avance.

  9. #9
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Sans vouloir être désobligeant, je pense qu'il te manque un peu plus que deux méthodes.
    Il serait nécessaire que tu te formes aux bases du VBA Excel : http://bidou.developpez.com/article/VBA/
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

Discussions similaires

  1. Réponses: 17
    Dernier message: 28/12/2015, 19h37
  2. Bouton avec une fonction ayant en argument une autre fonction
    Par Serratonique dans le forum Général Python
    Réponses: 8
    Dernier message: 28/02/2014, 18h53
  3. Identifier une colonNe ajoutée et/ou supprimer entre deux fichiers
    Par NewYork dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 23/12/2010, 13h53
  4. Réponses: 1
    Dernier message: 18/06/2008, 00h10
  5. Réponses: 14
    Dernier message: 01/05/2007, 19h25

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