Boucle + Création xls
Résolu
Matmouss
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je suis débutant en VBA et j'ai réalisé une macro permettant de générer des onglets (que je renomme) selon la ligne choisie (cf à la fin).
Par contre:
1/ je n'arrive pas à ré-entrer dans la boucle lorsque la réponse est "oui" à la fin
2/ j'aimerais créer des fichiers .xls (les enregistrer et les fermer) au lieu des onglets.
Est-ce possible? Pouvez-vous m'aider?
je vous remercie,
Mathieu
Sub CréationContratSélectionné()
' CréationContrat Macro
'
' Touche de raccourci du clavier: Ctrl+a
Dim Condition As String
Dim ContratSelect As Integer
Condition = "oui"
Do While Condition = "oui"
ContratSelect = Val(InputBox("Quel contrat souhaitez-vous générer? (indiquez le N° de contrat - Ex: 3) ")) + 4
Sheets("V 14 oct").Select
Sheets("V 14 oct").Copy After:=Sheets(2)
Sheets("V 14 oct (2)").Select
ActiveSheet.Name = Range("'Unité PILOTE'!C" & ContratSelect).Text
Range("E5:J5").Select
ActiveCell = "='Unité PILOTE'!B" & ContratSelect
Range("E6:J6").Select
ActiveCell = "='Unité PILOTE'!C" & ContratSelect
Range("E8:J8").Select
ActiveCell = "='Unité PILOTE'!D" & ContratSelect
Range("L5").Select
ActiveCell = "='Unité PILOTE'!E" & ContratSelect
Range("L6").Select
ActiveCell = "='Unité PILOTE'!F" & ContratSelect
Range("L7").Select
ActiveCell = "='Unité PILOTE'!G" & ContratSelect
Range("E10:J10").Select
ActiveCell = "='Unité PILOTE'!S" & ContratSelect
Range("E11:J11").Select
ActiveCell = "='Unité PILOTE'!H" & ContratSelect
Range("E23:G13").Select
ActiveCell = "='Unité PILOTE'!I" & ContratSelect
Range("E23").Select
ActiveCell = "='Unité PILOTE'!O" & ContratSelect
Range("F23").Select
ActiveCell = "='Unité PILOTE'!P" & ContratSelect
Range("H23").Select
ActiveCell = "='Unité PILOTE'!Q" & ContratSelect
Range("J23:K23").Select
ActiveCell = "='Unité PILOTE'!R" & ContratSelect
Condition = Val(InputBox("Souhaitez-vous générer un autre contrat? (oui ou non)"))
Loop
End Sub
je suis débutant en VBA et j'ai réalisé une macro permettant de générer des onglets (que je renomme) selon la ligne choisie (cf à la fin).
Par contre:
1/ je n'arrive pas à ré-entrer dans la boucle lorsque la réponse est "oui" à la fin
2/ j'aimerais créer des fichiers .xls (les enregistrer et les fermer) au lieu des onglets.
Est-ce possible? Pouvez-vous m'aider?
je vous remercie,
Mathieu
Sub CréationContratSélectionné()
' CréationContrat Macro
'
' Touche de raccourci du clavier: Ctrl+a
Dim Condition As String
Dim ContratSelect As Integer
Condition = "oui"
Do While Condition = "oui"
ContratSelect = Val(InputBox("Quel contrat souhaitez-vous générer? (indiquez le N° de contrat - Ex: 3) ")) + 4
Sheets("V 14 oct").Select
Sheets("V 14 oct").Copy After:=Sheets(2)
Sheets("V 14 oct (2)").Select
ActiveSheet.Name = Range("'Unité PILOTE'!C" & ContratSelect).Text
Range("E5:J5").Select
ActiveCell = "='Unité PILOTE'!B" & ContratSelect
Range("E6:J6").Select
ActiveCell = "='Unité PILOTE'!C" & ContratSelect
Range("E8:J8").Select
ActiveCell = "='Unité PILOTE'!D" & ContratSelect
Range("L5").Select
ActiveCell = "='Unité PILOTE'!E" & ContratSelect
Range("L6").Select
ActiveCell = "='Unité PILOTE'!F" & ContratSelect
Range("L7").Select
ActiveCell = "='Unité PILOTE'!G" & ContratSelect
Range("E10:J10").Select
ActiveCell = "='Unité PILOTE'!S" & ContratSelect
Range("E11:J11").Select
ActiveCell = "='Unité PILOTE'!H" & ContratSelect
Range("E23:G13").Select
ActiveCell = "='Unité PILOTE'!I" & ContratSelect
Range("E23").Select
ActiveCell = "='Unité PILOTE'!O" & ContratSelect
Range("F23").Select
ActiveCell = "='Unité PILOTE'!P" & ContratSelect
Range("H23").Select
ActiveCell = "='Unité PILOTE'!Q" & ContratSelect
Range("J23:K23").Select
ActiveCell = "='Unité PILOTE'!R" & ContratSelect
Condition = Val(InputBox("Souhaitez-vous générer un autre contrat? (oui ou non)"))
Loop
End Sub
A voir également:
- Boucle + Création xls
- Creation compte gmail - Guide
- Création site web - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Création compte google - Guide
- Comment ouvrir un fichier xls? - Guide
1 réponse
bonjour,
Condition = Val(InputBox("Souhaitez-vous générer un autre contrat? (oui ou non)"))
a quoi sert val ?
regarde l'aide à propos de val....
mais peut-être pourrais tu remplacer input box par un msgbox
si oui dimension=6 si non dimension=7
et
----
astuce:
pour éviter les sursauts de l'écran
écris en début de macro la ligne après do while dimension...
et remet à true avant le msgbox ou ton 2° inputbox
Condition = Val(InputBox("Souhaitez-vous générer un autre contrat? (oui ou non)"))
a quoi sert val ?
regarde l'aide à propos de val....
mais peut-être pourrais tu remplacer input box par un msgbox
dimension=msgbox("voulez vous etc",vbyesno)
si oui dimension=6 si non dimension=7
dim condition passe en byte
et
condition=6 do while condition=6
----
astuce:
pour éviter les sursauts de l'écran
écris en début de macro la ligne après do while dimension...
application.screenupdating=false
et remet à true avant le msgbox ou ton 2° inputbox