1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
Sub ouvrir()
Dim Message, Title, Default, Fournisseur, FichierAOuvrir, FichierAEcrire, FichierCsv 'Strings
Dim ligne_en_cours, Coef, feuille_en_cours, nbre_ligne, Nbr_Feuille, feuille_export 'Ints
' Demander nom du fournisseur en cours de traitement
' Définit le message.
Message = "Nom du fournisseur à traiter"
Title = "Fournisseur à traiter" ' Définit le titre.
Default = "FOUR1" ' Définition la valeur par défaut.
' Affiche le message, le titre et la valeur par défaut.
Fournisseur = InputBox(Message, Title, Default)
' Demander coef a appliquer
' Définit le message.
Message = "Coefficent à appliquer"
Title = "Coef" ' Définit le titre.
Default = "1.1" ' Définition la valeur par défaut.
' Affiche le message, le titre et la valeur par défaut.
Coef = InputBox(Message, Title, Default)
' Ouverture du fichier à traiter
FichierAOuvrir = Application.GetOpenFilename("Tous les fichiers (*.*),*.*")
If FichierAOuvrir <> False Then
Set mon_classeur1 = Workbooks.Open(FichierAOuvrir)
' Traitement feuille en cours
Nbr_Feuille = Worksheets.Count
' Ajout d'une feuille qui sera exportée
Sheets.Add After:=Sheets(Sheets.Count)
feuille_export = Worksheets.Count
'MsgBox Nbr_Feuille & " " & feuille_export
Set FichierCsv = Worksheets(feuille_export)
' A partir de quelle feuille ?
Message = "Traiter à partir de la feuille N° ?"
Title = "Feuille" ' Définit le titre.
Default = "3" ' Définition la valeur par défaut.
' Boucle de traitement des feuilles du classeur
For feuille_en_cours = InputBox(Message, Title, Default) To Nbr_Feuille
' Traitement ligne par ligne
For ligne_en_cours = 1 To Rows.Count
' Traitement ligne_en_cours, colonne 3
' Si ce n'est pas une ligne blanche intercalaire
If Not IsNull(ActiveSheet.Cells(ligne_en_cours, 3)) Then
' Si la colonne C est numérique
If IsNumeric(ActiveSheet.Cells(ligne_en_cours, 3)) Then
MsgBox "feuille_en_cours : " & feuille_en_cours
MsgBox "ligne_en_cours : " & ligne_en_cours
' Copie des colonnes 1 à 3 dans la nouvelle feuille
Worksheets(feuille_en_cours).Range(Cells(ligne_en_cours, 1), Cells(ligne_en_cours, 3)).Copy _
Destination:=Worksheets(feuille_export).Range(Cells(ligne_en_cours, 1))
End If
End If
Next
Next
End If
End Sub |
Partager