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
|
Sub EnvoiDonnees()
' Déclaration des variables
Dim i As Integer
Dim b As Integer
Dim compteurColArrivee As Integer
Dim compteurLigArrivee As Integer
Dim compteurColSource As Integer
Dim compteurLigSource As Integer
Dim stock As Integer
compteurColArrivee = 4
compteurColSource = 3
compteurLigSource = 142
compteurLigArrivee = InputBox("Entrez la ligne de départ")
If Not IsNumeric(compteurLigArrivee) Then
'erreur dans la saisie
Else
'saisie d'un entier valide, donc on transtype
b = CInt(compteurLigArrivee)
End If
'on se servira de stock pour revenir à chaque fois à la bonne ligne de départ une fois qu'on devra changer de colonnes
stock = compteurLigArrivee
' Sélection du classeur source à partir d'une fenêtre
cheminfichier = Application.GetOpenFilename("Fichiers Excel (*.xls; *.xlsx; *.xlsm),*.xls; *.xlsx; *.xlsm")
'Ouverture du classeur source
Workbooks.Open cheminfichier
' Récupération du nom du classeur + extension
For i = Len(cheminfichier) To 1 Step -1
If Mid(cheminfichier, i, 1) = "\" Then Exit For
Next
nomFichier = Mid(cheminfichier, i + 1, Len(cheminfichier))
ThisWorkbook.Sheets("TraitementJournalier").Cells(1, 1).Value = nomFichier
' Copie des valeurs entre les classeurs
' Boucle pour revenir à la ligne une fois qu'on a achevé une colonne
While compteurLigSource < 149
'Boucle pour décaler d'une colonne
While compteurColSource < 34
ThisWorkbook.Sheets("TraitementJournalier").Cells(b, compteurColArrivee) = Workbooks(nomFichier).Sheets("RJM").Cells(compteurLigSource, compteurColSource).Value
b = b + 1
compteurColSource = compteurColSource + 1
Wend
compteurLigSource = compteurLigSource + 1
compteurColArrivee = compteurColArrivee + 1
If compteurColArrivee = 9 Then
compteurColArrivee = compteurColArrivee + 1
End If
compteurColSource = 3
b = stock
Wend |
Partager