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 :

Récuperer contenu cellule d'un fichier excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Par défaut Récuperer contenu cellule d'un fichier excel
    salut a tous,
    je suis en train de developper une application qui doit recuperer des contenu de la premiere ligne d'un fichier excel (avec une seule sheet) et les mettre dans un autre fichier .xls

    exemple:
    fichier1
    nom prenom adresse CP ville

    fichier2
    requete1 nom 1
    requete1 prenom 2
    requete1 adresse 3
    requete1 CP 4
    requete1 ville 5

    PS: requete1 correspond au contenu d'une textbox que je renseigne avant et les chiffre de 1 a 5 sont l'index (en auto incrémente).
    PS2: le nombre de case de la ligne 1 est variable, parfois il n'y a que nom, prenom, adresse, CP, ville, mais des fois y'en a plus, et des fois moins. Donc je pense qu'il faut tester si la case contient qqc.

    J'ai reussi a recuperer le path d'un fichier et a l'ouvrir, ce que je n'arrive pas c'est comprendre comment marche la recup sous VBA.

    Je sais pas si j'ai ete bien clair, si c'est pas le cas, fait le moi savoir ^^ Merci par avance.

  2. #2
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Mars 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 120
    Par défaut
    Bonjour bonjour

    tu devrais commencer par tester si tes cellules contiennent quelque chose

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    dim i as integer
    dim dernierecolonne as integer
     
    dernierecolonne = Range("A1").End(xlToRight).Column
     
    for i=1 to dernierecolonne
       if
          (ton programme)
       end if
    next i
    Je vais essayer de trouver quelque chose qui marche pour ton code

  3. #3
    Membre très actif Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Par défaut
    Merci bcp, pour l'instant le bout de code fonctionne, je verifie qu'il prenne en compte toute les colonnes.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Bonjour,

    Imaginons que tu aies les colonnes A, B, C et E remplies, je suppose que tu veux récupérer les contenus de toutes ces cellules, non ?

    Or, avec une cellule vide au milieu, le code ne va pas pas aller jusqu'à la dernière colonne remplie et il va s'arrêter à C dans notre cas.

    Si tu veux que cela aille jusqu'à la dernière colonne remplie de la ligne sans s'arrêter sur les "trous", il faut que tu écrives :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dernierecolonne = Range("IV1").End(xlToLeft).Column
    Après, tu peux faire un test sur les cellules pour esquiver ces "trous" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not IsEmpty(Cells(1,i).Value) Then
    Cela te donnera donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    dim i as integer
    dim dernierecolonne as integer
     
    dernierecolonne = Range("IV1").End(xlToLeft).Column
     
    for i=1 to dernierecolonne
       If Not IsEmpty(Cells(1,i).Value) Then
          (ton programme)
       end if
    next i
    Bonne chance pour la suite.

  5. #5
    Membre très actif Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Par défaut
    Merci a toi aussi, petite subtilité en plus, forte utile pour les fichier mal fait, merci.

    Quelle fonction(s) existe(s) pour récupérer le contenu d'une cellule ? dans mon cas, je n'ai pas acces au fichier excel donc "activecell" on oublie ^^.

    Merci.

  6. #6
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    si le fichier est ouvert (je ne sais pas si c'est bien ce que tu demandais)
    ou i est le numéro de ligne j de colonne
    également
    tu peut concaténer l'adresse
    tu peux rajouter .value, .value2,... après je te laisse consulter l'aide pour plus d'information

    Si le fichier est fermé (et doit rester fermé) c'est une autre histoire

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

Discussions similaires

  1. [Toutes versions] Macro pour copier le contenu d'une cellule d'un fichier excel et coller dans une form
    Par wizishop dans le forum VBA PowerPoint
    Réponses: 3
    Dernier message: 16/10/2015, 12h05
  2. Extraire le contenu d'une cellule dans un fichier excel
    Par JuniorBI dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 28/09/2010, 12h03
  3. modifié le contenu d'une cellule d'un fichier EXCEL
    Par john_wili dans le forum Documents
    Réponses: 0
    Dernier message: 26/01/2009, 11h34
  4. recuperer les valeurs d'une cellule dans un fichier excel
    Par cortex59 dans le forum Général VBA
    Réponses: 2
    Dernier message: 24/04/2008, 13h10
  5. coller une cellule d'un fichier excel à un autre
    Par ickyknox dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/03/2007, 17h58

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