Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/08/2011, 11h35   #1
Invité de passage
 
Homme Paul
Inscription : août 2011
Messages : 16
Détails du profil
Informations personnelles :
Nom : Homme Paul
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 16
Points : 0
Points : 0
Par défaut Code inactif suite copie de Feuille

Bonjour,

J'ai développé un code pour faire un publipostage de données Excel dans un Word notamment avec un ajout de ligne dans un tableau contenu dans le word avec ce code :

Code :
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
 'ajout du tableau des produits
    Set oTbl = LeDocWord.Tables(1)
    ligne = 40
    oTbl.Rows.Last.Cells(1).Range.Text = Cells(ligne, 7)
    oTbl.Rows.Last.Cells(2).Range.Text = Cells(ligne, 8)
    oTbl.Rows.Last.Cells(3).Range.Text = Cells(ligne, 9)
    oTbl.Rows.Last.Cells(4).Range.Text = Cells(ligne, 10)
    ligne = ligne + 1
 
    'ajout dans les balises
    balisetableauprod = "<destignationprod>" & Cells(ligne, 7) & "</destignationprod><quantitéprod>" & Cells(ligne, 8) & "</quantitéprod><prixunitaireprod>" & Cells(ligne, 9) & "</prixunitaireprod><totalprod>" & Cells(ligne, 10) & "</totalprod>"
 
        Do While Not IsEmpty(Cells(ligne, 7))
 
            'ajout des infos pour chaque produit dans le tableau de la facture
            oTbl.Rows.Add
            oTbl.Rows.Last.Cells(1).Range.Text = Cells(ligne, 7)
            oTbl.Rows.Last.Cells(2).Range.Text = Cells(ligne, 8)
            oTbl.Rows.Last.Cells(3).Range.Text = Cells(ligne, 9)
            oTbl.Rows.Last.Cells(4).Range.Text = Cells(ligne, 10)
 
            'ajout dans les balises
            balisetableauprod = balisetableauprod & "<destignationprod>" & Cells(ligne, 7) & "</destignationprod><quantitéprod>" & Cells(ligne, 8) & "</quantitéprod><prixunitaireprod>" & Cells(ligne, 9) & "</prixunitaireprod><totalprod>" & Cells(ligne, 10) & "</totalprod>"
 
            ligne = ligne + 1
        Loop
 
    'inscription des balises du tableau dans la facture
    With LeDocWord
    .Bookmarks("tableprod").Range.Text = balisetableauprod
    End With
 
    Set oTbl = Nothing
Sur mon document Excel d'origine pas de problème tout marche très bien. Puis j'ai dupliquer l'onglet (il n'y a pas d'interaction avec d'autres onglets) concerné sur un autre document excel que j'ai enregistré au même endroit que le premier classeur et là uniquement le nouveau classeur ne veux pas me générer les tableau alors que d'autre modification du même doc word via des bookmarks marche très bien.... (les librairies activées sont les mêmes)

Un indice peut être est que lorsque j'enregistre le classeur excel qui marche bien, il me met ce message : "Avertissement concernant la confidentialité : ce document contient des macro, des controle active X, des informations sur le kit d'extention XML ou des composants web. Ils peuvent renfermer des informations personnelles qui ne peuvent pas être supprimées par l'inspecteur de document".

Avez-vous des idées ??

Merci
popaul88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/08/2011, 21h10   #2
Membre actif
 
Avatar de Duddy
 
Homme Marc
Agent de maitrise
Inscription : novembre 2007
Messages : 243
Détails du profil
Informations personnelles :
Nom : Homme Marc
Âge : 45
Localisation : France

Informations professionnelles :
Activité : Agent de maitrise
Secteur : Service public

Informations forums :
Inscription : novembre 2007
Messages : 243
Points : 186
Points : 186
Bonjour le forum,

Si tu es en version 2007, le format d'enregistrement d'un fichier contenant des macros est "XLSM" tout autre format ne permet pas le fonctionnement des codes.

Vérifies ton format d'enregistrement peut-être est-ce "XLSX"
__________________
Bon courage à toi.
Duddy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/08/2011, 21h50   #3
Invité de passage
 
Homme Paul
Inscription : août 2011
Messages : 16
Détails du profil
Informations personnelles :
Nom : Homme Paul
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 16
Points : 0
Points : 0
mes deux fichiers sont bel et bien enregistré en .xlsm.
la macro ne marque que partiellement et ne me révèle pas d erreur durant son execution...elle ne veux simplement pas me definir la table.
popaul88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h36.


 
 
 
 
Partenaires

Hébergement Web