Bonjour,
Je suis débutant en VBA et je rencontre des difficultés sur une macro. Le but de cette macro est de :
- trouver une ligne dans un fichier (le fichier d’origine où se trouve la macro) à partir d’un mot fixé
- De copier la ligne
- De proposer à l’utilisateur de sélectionner un fichier
- De coller la ligne du début dans le fichier sélectionné
Pour l’instant mon code est :
Sub Paste()
Dim ligne As Integer
Dim ligne1 As Integer
Dim nomfich As Variant
Dim Case1 As String
Case1 = Range("E" & "5")
For ligne = 80 To 100
If Range("B" & ligne) = "Cost" Then
C1 = Range("C" & ligne)
D1 = Range("D" & ligne)
E1 = Range("E" & ligne)
F1 = Range("F" & ligne)
G1 = Range("G" & ligne)
H1 = Range("H" & ligne)
I1 = Range("I" & ligne)
C2 = Range("C" & ligne + 1)
D2 = Range("D" & ligne + 1)
E2 = Range("E" & ligne + 1)
F2 = Range("F" & ligne + 1)
G2 = Range("G" & ligne + 1)
H2 = Range("H" & ligne + 1)
I2 = Range("I" & ligne + 1)
End If
Next ligne
Etiquette: nomfich = Application.GetOpenFilename()
If nomfich = False Then
MsgBox "You do not select the file. Please select to update the data in the follow up document "
GoTo Etiquette
End If
Workbooks(nomfich).Sheets("ECR").Activate
Range("A1") = "E1"
For ligne1 = 1 To 100
If Range("C" & ligne1) = Case1 Then
Range("Y" & ligne1) = C1
Range("Z" & ligne1) = D1
Range("AA" & ligne1) = E1
Range("AB" & ligne1) = F1
Range("AC" & ligne1) = G1
Range("AD" & ligne1) = H1
Range("AE" & ligne1) = I1
Range("AG" & ligne1) = C2
Range("AH" & ligne1) = D2
Range("AI" & ligne1) = E2
Range("AJ" & ligne1) = F2
Range("AK" & ligne1) = G2
Range("AL" & ligne1) = H2
Range("AM" & ligne1) = I2
End If
Next ligne1
End Sub
Cela sans succès…
Avez-vous une idée du problème ?
En vous remerciant par avance.