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 71 72 73 74 75 76
| Option Explicit
Option Base 1
Sub PasteData()
'Variables
'Compteur
Dim i As Double
'Adresse
Dim RowBase As String
Dim LastRowBase As Double 'Dernière Ligne utilisé du classeur "Base"
Dim SheetNameBase As String 'Nom de la feuille de travail sur le classeur "Base"
Dim SheetNamePart As String 'Nom d ela feuille de travail sur le classeur "Participation Majeurs"
Dim WkbNameBase As String 'Nom du Classeur "Base"
Dim WkbNamePart As String 'Nom du Classeur "Participation Majeur"
Dim AddressPaste As String
'Tableau
Dim ArrayDataBase As Variant 'Tableau répertoriant les Données du classeur "Base" (Colonne A)
Dim PasteData(4, 1) As Variant
'Divers
Dim FolderFound As Boolean
'Saisie du Dossier par l'utilisateur
On Error Resume Next
RowBase = InputBox("Quel dossier numéro de dossier voulez-vous traiter?", "Saisie du dossier")
If RowBase = 0 Then Exit Sub
On Error GoTo 0
'Variables à modifier en fonction de tes nom de classeur/Feuille
SheetNameBase = "Base"
SheetNamePart = "Part"
WkbNameBase = "base.xlsb"
WkbNamePart = "participation majeurs.xlsb"
'Chargement des Données de la feuille "Base"
LastRowBase = Workbooks(WkbNameBase).Sheets(SheetNameBase).Cells(1, 1).SpecialCells(xlLastCell).Row
ArrayDataBase = Workbooks(WkbNameBase).Sheets(SheetNameBase).Range(Workbooks(WkbNameBase).Sheets(SheetNameBase).Cells(1, 1), _
Workbooks(WkbNameBase).Sheets(SheetNameBase).Cells(LastRowBase, 1))
'Cherche le la ligne correspondant au numéro de dossier saisie
FolderFound = False
For i = 1 To LastRowBase
If CStr(ArrayDataBase(i, 1)) = CStr(RowBase) Then
RowBase = i
FolderFound = True
Exit For
End If
Next i
'Vérifie que le dossier a bien été trouvé
If FolderFound = False Then
MsgBox "Erreur : le dossier saisie n'a pas été trouvé.", Title:="Opération annulé"
Exit Sub
End If
'Copie les données
PasteData(1, 1) = Workbooks(WkbNamePart).Sheets(SheetNamePart).Range("B30")
PasteData(2, 1) = Workbooks(WkbNamePart).Sheets(SheetNamePart).Range("B37")
PasteData(3, 1) = Workbooks(WkbNamePart).Sheets(SheetNamePart).Range("B36")
PasteData(4, 1) = Workbooks(WkbNamePart).Sheets(SheetNamePart).Range("B8")
'Collage des données
Workbooks(WkbNameBase).Sheets(SheetNameBase).Range("AK" & RowBase) = PasteData(1, 1)
Workbooks(WkbNameBase).Sheets(SheetNameBase).Range("AM" & RowBase) = PasteData(2, 1)
Workbooks(WkbNameBase).Sheets(SheetNameBase).Range("AN" & RowBase) = PasteData(3, 1)
Workbooks(WkbNameBase).Sheets(SheetNameBase).Range("CO" & RowBase) = PasteData(4, 1)
End Sub |
Partager