m

JPS28

XLDnaute Occasionnel
Bonjour a tous.
Je souhaiterais employer la même macro d'apperl word sur le mëme classeur mais sur deux feuilles différentes avec des chemins différents une pour des feuilles word d'inscription l'autre pour des données équines je l'ai donc copier coller en changent leur chemin mais j'ai une erreur dans la macro avec un nom anbigu "Target" quelqu'un peut il me dire pourquoi et m'aider par la même occasion sachant que sur la première feuille la macro fonctionne a merveille.Merci.
Cordialement.
JPS
 

kjin

XLDnaute Barbatruc
Re : m

Bonjour,
Si tu veux optimiser tes chances d'obtenir des réponses, lis et relis la charte du forum qui me parait pourtant suffisamment claire !
Je sais de quoi il s'agit puisque puisque j'ai moi-même fournis la macro, mais penses tu sincèrement que quiconque lisant ton message puisse comprendre de quoi il s'agit, alors que moi-même j'ai du mal à deviner !!!!
A+
kjin
 

JPS28

XLDnaute Occasionnel
Re : m

Bonjour kjin, CBernardT,le forum.
Miille excuse pour l'explication et la rapidité de la réponse mais pour moi j'étais clair il faut dire que je suis malade du cerveau et que pour la rapidité et la compréhention n'est plus mon fors je ne tape que de la main gauche vue que j'ai énormément de mal a commandé mon bras droit et c'est pour cela que j'essaye de faire des macros avec 90% de votre aide pour me facilité la chose bon passons ne cherchons plus d'excuses voici donc ta macro kjin et je voudrais faire pareil avec les chevaux est ce possible? Merci.
Cordialement.
Merci
JPS
 

Pièces jointes

  • FormCavalierCheval.zip
    32.5 KB · Affichages: 16
  • FormCavalierCheval.zip
    32.5 KB · Affichages: 14
  • FormCavalierCheval.zip
    32.5 KB · Affichages: 17

kjin

XLDnaute Barbatruc
Re : m

Re, bonjour Bernard,
D'animosité aucune, juste le désir de t'aider :)
Supprime le module3
Dans le module2, remplace la macro CreerOuvrirWord par celle ci (il ne doit y en avoir qu'une seule pour tout le classeur)
Modifs en bleu
Code:
Sub CreerOuvrirWord(ByVal Nom As String, [COLOR="Blue"]ByVal chDossier As String[/COLOR])
Dim Chemin As String, oWord As Word.Application, oDoc As Word.Document
NomDoc = Nom & ".doc"
Chemin1 = "C:\Documents and Settings\JP\Mes documents\Dossier Gestion\" & [COLOR="Blue"]chDossier[/COLOR] & "\" & NomDoc 'à adapter
Chemin2 = "C:\Documents and Settings\JP\Mes documents\Dossier Gestion\" & [COLOR="Blue"]chDossier[/COLOR] & "\Modèle.doc" ' à adapter
On Error Resume Next
Set oWord = GetObject(, "Word.Application")
If Err.Number <> 0 Then
    Set oWord = CreateObject("Word.Application")
End If
On Error GoTo 0
If Dir(Chemin1) <> "" Then
    Set oDoc = oWord.Documents.Open(Chemin1)
Else
    Set oDoc = oWord.Documents.Open(Chemin2)
    With oDoc
        With .Sections(1).Headers(wdHeaderFooterPrimary).Range
            .Font.Bold = True
            .Font.Italic = True
            .Text = "Fiche de " & Nom
        End With
        .SaveAs Chemin1
    End With
End If
oWord.Visible = True
oWord.Activate

End Sub
Dans la feuille Cavaliers
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Set plage = Range("A2:A" & Range("A65000").End(xlUp).Row)
If Not Intersect(Target, plage) Is Nothing And Target <> "" Then
    Cancel = True
    CreerOuvrirWord Target[COLOR="Blue"], "Feuilles d'Inscription"[/COLOR]
End If

End Sub
Dans la feuille Chevaux
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Set plage = Range("A2:A" & Range("A65000").End(xlUp).Row)
If Not Intersect(Target, plage) Is Nothing And Target <> "" Then
    Cancel = True
    CreerOuvrirWord Target[COLOR="Blue"], "Feuilles equine"[/COLOR]
End If

End Sub
Explication : en plus de l'argument Nom passé à la macro via Target, on passe également le chemin du dossier où ouvrir/créer le Doc
Attention, j'ai supposé que chaque modèle de document était enregistré dans le dossier idoine.
A+
kjin
 
Dernière édition:

JPS28

XLDnaute Occasionnel
Re : m

Bonsoir kjin, CBernardT,le forum.
Je n'ai pas pu répondre plus tôt mais je te remercie beaucoup encore une fois kjin aprés quelques petites erreures de chemins a cause de moi tout est rentrée dans l'ordre et cela fonctionne trés bien grand Merci.
Cordialement.
JPS
 

kjin

XLDnaute Barbatruc
Re : m

Bonsoir,
Tu peux indiquer les divers paramètres de ton classeur, comme les chemins par exemple, dans les cellules d'une feuille, ce qui te permettra de modifier le fonctionnement de la macro sans être obligé de modifier la macro elle-même.
Il suffit ensuite d'y faire référence dans tes macros
C'est qq fois bien pratique
A+
kjin
 

JPS28

XLDnaute Occasionnel
Re : m

Bonsoir kjin
Je te remercie de tes conseils je ne manquerais pas de les d'essayer mais pour ma part je fais les créations d'usf les macros par l'enregistreur automatique et encore depuis peu et donc grâce a vous pour 90% je suis arrivé a ça(fichier joint)il me manque quelques truc notamment le retrait des cavaliers dans formcavaliercheval quand je fait la modification des galops dans le fichier gestion comptable clientèle facturation je me retrouve avec un doublon l'ancien cavalier avec son ancien galop plus le nouveau. Mais bon cela va se faire au fur et a mesure.
Merci.
Cordialement.
JPS

Cijoint.fr - Service gratuit de dépôt de fichiers
 

Discussions similaires

  • Question
Microsoft 365 Excel vba
Réponses
5
Affichages
345

Statistiques des forums

Discussions
312 322
Messages
2 087 288
Membres
103 508
dernier inscrit
max5554