Boucle + Création xls

Résolu
Matmouss -  
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
A voir également:

1 réponse

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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

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
0