P
phdumon
Guest
Bonjour à toute l'équipe,
Voici une partie d'un code dans une de mes applications. Il permet de retrouver l'adresse d'un destinataire d'une lettre en Word dans un tableau excel.
Malheureusement, si je répète l'action, le code bloque: le combobox reste figé sur un nom sans que je puisse le sélectionner. Avez-vous une idée?
D'avance merci
Voici le code
Dim NextRow As Long
Dim macell As Range, premcell As Range
Dim macell1 As Range
NOM = Worksheets("données").Range("A2")
With Worksheets("carnet").Range("a1:b10000")
Set macell1 = .Find(NOM, LookIn:=xlValues, lookat:=xlWhole)
Workbooks("dossiers").Worksheets("données").Range("A31").Value = macell1.Offset(0, 4)
Workbooks("dossiers").Worksheets("données").Range("B31").Value = macell1.Offset(0, 0)
Workbooks("dossiers").Worksheets("données").Range("C31").Value = macell1.Offset(0, 5)
Workbooks("dossiers").Worksheets("données").Range("D31").Value = macell1.Offset(0, 1)
Workbooks("dossiers").Worksheets("données").Range("E31").Value = macell1.Offset(0, 2)
Workbooks("dossiers").Worksheets("données").Range("F31").Value = macell1.Offset(0, 3)
UserForm15.Hide
destnom = Workbooks("dossiers").Worksheets("données").Range("A31") & " " & Workbooks("dossiers").Worksheets("données").Range("B31")
desttitre = Workbooks("dossiers").Worksheets("données").Range("C31")
destrue = Workbooks("dossiers").Worksheets("données").Range("D31")
destcodeville = Workbooks("dossiers").Worksheets("données").Range("E31") & " " & Workbooks("dossiers").Worksheets("données").Range("F31")
dossier = Workbooks("dossiers").Worksheets("données").Cells(33, 1)
gestionnaire = Workbooks("dossiers").Worksheets("données").Cells(33, 2)
numéro = Workbooks("dossiers").Worksheets("données").Cells(33, 3)
final = Workbooks("dossiers").Worksheets("données").Cells(33, 4)
mail = Workbooks("dossiers").Worksheets("données").Cells(8, 3)
End With
Application.DisplayAlerts = False
Workbooks("carnet").Close
' Colle les données dans Word
Dim text As String
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Application.DisplayAlerts = False
AppWord.ShowMe
AppWord.Visible = True
'Ouvre le document Word
Set DocWord = AppWord.Documents.Open("R:\répertoire\lettres\lettre générale.doc", ReadOnly:=False)
Application.DisplayAlerts = False
DocWord.Unprotect
With AppWord
'Se positionne sur le signet dossier
.Selection.Goto What:=wdGoToBookmark, Name:="dossier"
.Selection.TypeText dossier
.Selection.Goto What:=wdGoToBookmark, Name:="gestionnaire"
.Selection.TypeText gestionnaire
.Selection.Goto What:=wdGoToBookmark, Name:="numéro"
.Selection.TypeText numéro
.Selection.Goto What:=wdGoToBookmark, Name:="final"
.Selection.TypeText final
.Selection.Goto What:=wdGoToBookmark, Name:="mail"
.Selection.TypeText mail
.Selection.Goto What:=wdGoToBookmark, Name:="destnom"
.Selection.TypeText destnom
.Selection.Goto What:=wdGoToBookmark, Name:="desttitre"
.Selection.TypeText desttitre
.Selection.Goto What:=wdGoToBookmark, Name:="destrue"
.Selection.TypeText destrue
.Selection.Goto What:=wdGoToBookmark, Name:="destcodeville"
.Selection.TypeText destcodeville
DocWord.Protect _
Type:=wdAllowOnlyFormFields, NoReset:=True
End With
End Sub
Voici une partie d'un code dans une de mes applications. Il permet de retrouver l'adresse d'un destinataire d'une lettre en Word dans un tableau excel.
Malheureusement, si je répète l'action, le code bloque: le combobox reste figé sur un nom sans que je puisse le sélectionner. Avez-vous une idée?
D'avance merci
Voici le code
Dim NextRow As Long
Dim macell As Range, premcell As Range
Dim macell1 As Range
NOM = Worksheets("données").Range("A2")
With Worksheets("carnet").Range("a1:b10000")
Set macell1 = .Find(NOM, LookIn:=xlValues, lookat:=xlWhole)
Workbooks("dossiers").Worksheets("données").Range("A31").Value = macell1.Offset(0, 4)
Workbooks("dossiers").Worksheets("données").Range("B31").Value = macell1.Offset(0, 0)
Workbooks("dossiers").Worksheets("données").Range("C31").Value = macell1.Offset(0, 5)
Workbooks("dossiers").Worksheets("données").Range("D31").Value = macell1.Offset(0, 1)
Workbooks("dossiers").Worksheets("données").Range("E31").Value = macell1.Offset(0, 2)
Workbooks("dossiers").Worksheets("données").Range("F31").Value = macell1.Offset(0, 3)
UserForm15.Hide
destnom = Workbooks("dossiers").Worksheets("données").Range("A31") & " " & Workbooks("dossiers").Worksheets("données").Range("B31")
desttitre = Workbooks("dossiers").Worksheets("données").Range("C31")
destrue = Workbooks("dossiers").Worksheets("données").Range("D31")
destcodeville = Workbooks("dossiers").Worksheets("données").Range("E31") & " " & Workbooks("dossiers").Worksheets("données").Range("F31")
dossier = Workbooks("dossiers").Worksheets("données").Cells(33, 1)
gestionnaire = Workbooks("dossiers").Worksheets("données").Cells(33, 2)
numéro = Workbooks("dossiers").Worksheets("données").Cells(33, 3)
final = Workbooks("dossiers").Worksheets("données").Cells(33, 4)
mail = Workbooks("dossiers").Worksheets("données").Cells(8, 3)
End With
Application.DisplayAlerts = False
Workbooks("carnet").Close
' Colle les données dans Word
Dim text As String
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Application.DisplayAlerts = False
AppWord.ShowMe
AppWord.Visible = True
'Ouvre le document Word
Set DocWord = AppWord.Documents.Open("R:\répertoire\lettres\lettre générale.doc", ReadOnly:=False)
Application.DisplayAlerts = False
DocWord.Unprotect
With AppWord
'Se positionne sur le signet dossier
.Selection.Goto What:=wdGoToBookmark, Name:="dossier"
.Selection.TypeText dossier
.Selection.Goto What:=wdGoToBookmark, Name:="gestionnaire"
.Selection.TypeText gestionnaire
.Selection.Goto What:=wdGoToBookmark, Name:="numéro"
.Selection.TypeText numéro
.Selection.Goto What:=wdGoToBookmark, Name:="final"
.Selection.TypeText final
.Selection.Goto What:=wdGoToBookmark, Name:="mail"
.Selection.TypeText mail
.Selection.Goto What:=wdGoToBookmark, Name:="destnom"
.Selection.TypeText destnom
.Selection.Goto What:=wdGoToBookmark, Name:="desttitre"
.Selection.TypeText desttitre
.Selection.Goto What:=wdGoToBookmark, Name:="destrue"
.Selection.TypeText destrue
.Selection.Goto What:=wdGoToBookmark, Name:="destcodeville"
.Selection.TypeText destcodeville
DocWord.Protect _
Type:=wdAllowOnlyFormFields, NoReset:=True
End With
End Sub