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

VBA Word Discussion :

traitement avec une feuille Excel


Sujet :

VBA Word

  1. #1
    Membre du Club
    Femme Profil pro
    Assistante Développement
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistante Développement
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Points : 60
    Points
    60
    Par défaut traitement avec une feuille Excel
    bonjour,

    J'ai un petit souci dans mon projet, je dois avoir une erreur dans mon code et je n'arrive pas à la trouver.

    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
    Option Explicit
    Sub donneeAvecExcel()
    'déclaration des variables
    Dim xlApp As Excel.Application
    Dim xlWb As Excel.Workbook
    Dim xlSh As Excel.Worksheets
    Dim iR As Integer
    Dim i As Integer, j As Integer
    Dim oDoc As Document
    Dim consumername As String
    Dim contract As Integer
    Dim consumer As Integer
     
    'affectation des données aux variables
    Set xlApp = Excel.Application
    Set xlWb = xlApp.Workbooks.Open("C:\Documents and Settings\catherine.alfonso\Mes documents\catherine\Projet Répertoire\base données téléphone.xlsx")
    Set xlSh = xlWb.Worksheets("CONTRATS")
    Set xlSh = xlWb.Worksheets("CLIENTS")
    Set xlSh = xlWb.Worksheets("VENTES")
     
    'récupération du nombre de lignes et de colonnes
    iR = xlSh.UsedRange.Rows.Count
     
    'récupération des données de la feuille pour les injecter dans le document.
    For i = 2 To iR
    Debug.Print xlSh.Cells(iR, 2); iR
    Set oDoc = Documents.Add("C:\Documents and Settings\catherine.alfonso\Mes documents\catherine\Projet Répertoire\FICHE CLIENTS 2.dotm")
     
    oDoc.Bookmarks("numerocontrat").Range.Text = Worksheets("CONTRATS").Cells(i, 1)
    oDoc.Bookmarks("numeroclient").Range.Text = Worksheets("CONTRATS").Cells(i, 7)
    oDoc.Bookmarks("prix").Range.Text = Worksheets("CONTRATS").Cells(i, 14)
    oDoc.Bookmarks("incoterm").Range.Text = Worksheets("CONTRATS").Cells(i, 6)
    oDoc.Bookmarks("lieu").Range.Text = Worksheets("CONTRATS").Cells(i, 11)
    oDoc.Bookmarks("paiement").Range.Text = Worksheets("CLIENTS").Cells(i, 2)
    oDoc.Bookmarks("moyenpaiement").Range.Text = Worksheets("CLIENTS").Cells(i, 5)
     
    oDoc.Close
    Set oDoc = Nothing
     
    Next i
     
    xlWb.Close
    xlApp.Quit
    Set xlSh = Nothing
    Set xlWb = Nothing
    Set xlApp = Nothing
     
    End Sub
    j'ai un document Word avec 7 Signets nommés (numerocontrat, numeroclient, etc)
    j'ai une base de données sur Excel (3 feuilles) la première s'appelle CONTRATS, la deuxième CLIENTS et la dernière VENTES

    Mon document (ci-joint) doit se remplir avec les valeurs cellules de mes feuilles aux endroits des signets.

    Pouvez-vous m'aider svp

    cela fait bientôt 3 semaines que j'essaye.

    Merci d'avance

  2. #2
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    bonsoir,

    Il se passe quoi quand tu lance ton code ..?


    Pour quoi affectue à la variable xlSH ,ces trois feuilles , sans utiliser la variable entre temps...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Set xlSh = xlWb.Worksheets("CONTRATS")
    Set xlSh = xlWb.Worksheets("CLIENTS")
    Set xlSh = xlWb.Worksheets("VENTES")
    Si tu ne veux pas avoir à répeter le nom des feuilles utilise une variable par feuille ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim xlShContrats as Excel.WorkSheet
    Dim xlShClients as Excel.WorkSheet
    Dim xlShVentes as Excel.WorkSheet
     
    Set xlShContrats = xlWb.Worksheets("CONTRATS")
    Set xlShClients = xlWb.Worksheets("CLIENTS")
    Set xlShVentes = xlWb.Worksheets("VENTES")
    puis pour accéder aux données de ta feuille remplace tes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...Worksheets("CONTRATS").Cells(i, 1)
    par des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ..xlShContrats.Cells(i, 1)

  3. #3
    Membre du Club
    Femme Profil pro
    Assistante Développement
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistante Développement
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Points : 60
    Points
    60
    Par défaut traitement avec une feuille excel
    bonjour,

    Je te remercie pour ta réponse, en plus il est tard 23h passé !

    Actuellement il ne se passe rien pour mon code, car j'ai un message d'erreur différent à chaque fois.

    Je vais essayer les codes que tu m'as donné puis je te dis ou j'en suis.

    Merci beaucoup.


  4. #4
    Membre du Club
    Femme Profil pro
    Assistante Développement
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistante Développement
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Points : 60
    Points
    60
    Par défaut traitement avec une feuille excel
    rebonjour,

    J'ai un autre message d'erreur :

    erreur définie par l'application ou par l'objet
    avec un numéro "1004"
    je suis débutante donc excusez-moi par avance.

    J'ai mis ce code dans "thisworkbook" dans général/déclaration, mais je n'ai pas de bouton commande pour que mon code s'execute, je ne sais pas où le mettre ?

    merci j'ai besoin d'aide

    j'attends vos réponses

  5. #5
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Bonsoir

    Il faut mettre le code dans un nouveau module.

  6. #6
    Membre du Club
    Femme Profil pro
    Assistante Développement
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistante Développement
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Points : 60
    Points
    60
    Par défaut traitement avec une feuille excel
    bonjour,

    J'ai mis le code dans un module, mais j'ai un autre message d'erreur !

    Il s'arrête sur ce code;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set xlWb = xlApp.Workbooks.Open("C:\Documents and Settings\catherine.alfonso\Mes documents\catherine\Projet Répertoire\base données téléphone.xlsx")
    le message d'erreur à le même numéro : 1004 ? mais pas tout à fait le même message, il me dit qu'il ne trouve pas mon fichier, j'ai vérifié et je n'ai pas fait d'erreurs ni de frappe ni de chemin ?
    c'est à ne plus rien y comprendre

    Merci de ton aide

  7. #7
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Bonjour,

    à priori tu utilise Excel 2007 ( jamais touché ... )

    peu être un probléme du au espaces dans le nom du répertoire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set xlWb = xlApp.Workbooks.Open(Chr(34) & "C:\Documents and Settings\catherine.alfonso\Mes documents\catherine\Projet Répertoire\base données téléphone.xlsx" & Chr(34))

    et dis nous quoi

  8. #8
    Membre du Club
    Femme Profil pro
    Assistante Développement
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistante Développement
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Points : 60
    Points
    60
    Par défaut traitement avec une feuille excel
    bonjour,

    J'utilise Excel 2003 et non 2007.

    Je vais voir pour les problèmes d'espaces.

    Salut.

  9. #9
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Bonsoir...

    Citation Envoyé par enretard Voir le message
    bonjour,

    J'utilise Excel 2003 et non 2007.

    Je vais voir pour les problèmes d'espaces.

    Salut.
    c'est pas une extension standard :
    pour 2003, c'est peu-être la ton probléme...

Discussions similaires

  1. Sélection d'une feuille excel avec une listbox
    Par felibelle dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/07/2022, 17h27
  2. Insérer une feuille Excel avec macro dans une page HTML
    Par Pakkaï dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 08/12/2006, 17h40
  3. Dupliquer une feuille Excel avec Delphi 7
    Par loci dans le forum Delphi
    Réponses: 1
    Dernier message: 01/07/2006, 15h38
  4. [VBA-E]Remplir combobox avec contenu d'une feuille Excel
    Par Deejoh dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/03/2006, 16h16
  5. ecrire sur une feuille excel avec Asp
    Par Ajay dans le forum ASP
    Réponses: 7
    Dernier message: 06/01/2006, 23h18

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