Bonjour,
J'ai un problème de boucle sur Ws et s dans mon code et je ne vois pas comment résoudre ce problème
Pouvez vous me dire ou se situe le problème
Merci d'avance
Roger
Ci-dessous mon code
Sub essai()
'trie les feuilles par ordre croissant
Dim i As Integer, J As Integer
For i = 1 To Sheets.Count 'pour débuter le tri à la feuille x remplacer For I = 1 pat For I = x
For J = 1 To i - 1 'pour débuter le tri à la feuille x remplacer For J = 1 par For J = x
If UCase(Sheets(i).Name) < UCase(Sheets(J).Name) Then 'pour tri décroissant remplacer < par >
Sheets(i).Move Before:=Sheets(J)
Exit For
End If
Next J
Next i
'Ouverture de Word
'necesite d'activer la reference Microsoft Word xx.x Object Library
'depuis le menu Outils > Références...
Dim appWrd As Word.Application
Dim docWord As Word.Document
Dim sPath As String
Dim Fichier As String
'chemin d'accès du fichier Word à ouvrir
sPath = ThisWorkbook.Path & "\" 'tous les documents sont dans ce répertoire
Fichier = sPath & "Template-preco-Pneu-NTN-SNR2.dotx" 'A adapter
Set appWrd = CreateObject("Word.Application") 'creation session Word
appWrd.Visible = True 'pour que word soit apparent
Set docWord = appWrd.Documents.Open(Fichier)
'Copier une feuille vers Word
Dim Ws As Worksheet
Dim s As Byte 's comme Signet
For Each Ws In ActiveWorkbook.Sheets
MsgBox Ws.Name
'ActiveSheet.Select
Ws.Select
Ws.Cells.Copy
'Ws.Range("A1").Copy 'On copie les réponses du formulaire'
For s = 1 To 20
'les signets du document Word sont nommés Signet1 , Signet2 , Signet3
docWord.Bookmarks("Signet" & s).Select
MsgBox docWord.Bookmarks("Signet" & s)
'docWord.Bookmarks("Signet" & s).Range.Font.Size = 20
'docWord.Bookmarks("Signet" & s).Range.Bold = True
'docWord.Bookmarks("Signet" & s).Range.Italic = True
'===============================================================
'==================================================================
'wdDoc.Bookmarks.Add ("nomSignet")
docWord.Bookmarks("Signet" & s).Range.Paste 'colle le contenu du presse papier
'appWrd.Selection.Paste
Next s
Next Ws
'Annuler le mode couper/copier
Application.CutCopyMode = False
End Sub
J'ai un problème de boucle sur Ws et s dans mon code et je ne vois pas comment résoudre ce problème
Pouvez vous me dire ou se situe le problème
Merci d'avance
Roger
Ci-dessous mon code
Sub essai()
'trie les feuilles par ordre croissant
Dim i As Integer, J As Integer
For i = 1 To Sheets.Count 'pour débuter le tri à la feuille x remplacer For I = 1 pat For I = x
For J = 1 To i - 1 'pour débuter le tri à la feuille x remplacer For J = 1 par For J = x
If UCase(Sheets(i).Name) < UCase(Sheets(J).Name) Then 'pour tri décroissant remplacer < par >
Sheets(i).Move Before:=Sheets(J)
Exit For
End If
Next J
Next i
'Ouverture de Word
'necesite d'activer la reference Microsoft Word xx.x Object Library
'depuis le menu Outils > Références...
Dim appWrd As Word.Application
Dim docWord As Word.Document
Dim sPath As String
Dim Fichier As String
'chemin d'accès du fichier Word à ouvrir
sPath = ThisWorkbook.Path & "\" 'tous les documents sont dans ce répertoire
Fichier = sPath & "Template-preco-Pneu-NTN-SNR2.dotx" 'A adapter
Set appWrd = CreateObject("Word.Application") 'creation session Word
appWrd.Visible = True 'pour que word soit apparent
Set docWord = appWrd.Documents.Open(Fichier)
'Copier une feuille vers Word
Dim Ws As Worksheet
Dim s As Byte 's comme Signet
For Each Ws In ActiveWorkbook.Sheets
MsgBox Ws.Name
'ActiveSheet.Select
Ws.Select
Ws.Cells.Copy
'Ws.Range("A1").Copy 'On copie les réponses du formulaire'
For s = 1 To 20
'les signets du document Word sont nommés Signet1 , Signet2 , Signet3
docWord.Bookmarks("Signet" & s).Select
MsgBox docWord.Bookmarks("Signet" & s)
'docWord.Bookmarks("Signet" & s).Range.Font.Size = 20
'docWord.Bookmarks("Signet" & s).Range.Bold = True
'docWord.Bookmarks("Signet" & s).Range.Italic = True
'===============================================================
'==================================================================
'wdDoc.Bookmarks.Add ("nomSignet")
docWord.Bookmarks("Signet" & s).Range.Paste 'colle le contenu du presse papier
'appWrd.Selection.Paste
Next s
Next Ws
'Annuler le mode couper/copier
Application.CutCopyMode = False
End Sub