Re : Exploiter donnée
Salut JP et le Forum,
Super, c'est impec...
Je me suis juste retrouvé avec un problème à savoir que les valeurs de "reliquat" écrasaient les heures de la première semaine.
J'ai modifié le code en décalant de 1 colonne les donées copié comme ci dessous:
Sub travdemande()
Dim i As Long
Dim lidep1 As Long
Dim lidep2 As Long
Dim j As Long
Dim nomfeuille1 As String
Dim nomfeuille2 As String
Dim col1 As String
Dim col2 As String
Dim data1 As String
Dim nb As Integer
Dim trouve As Boolean
Dim cellule As Range
nomfeuille1 = "Feuil1"
col1 = "C"
lidep1 = 7
nomfeuille2 = "A"
col2 = "A"
lidep2 = 3
j = 4
With Sheets("A")
trouve = False
For Each cellule In .Range(col2 & lidep2 & ":" & col2 & .Range(col2 & "65536").End(xlUp).Row)
If InStr(1, cellule.Value, "Total semaine du ") > 0 Then
Sheets(nomfeuille1).Cells(7, j + 1) = Mid(cellule.Value, 18, 50)
j = j + 1
trouve = True
End If
If InStr(1, cellule.Value, "TOTAUX") > 0 Then
Sheets(nomfeuille1).Cells(7, j + 1) = "TOTAUX"
End If
If InStr(1, cellule.Value, "Salarié") > 0 And trouve = True Then Exit For
Next cellule
For Each cellule In .Range(col2 & lidep2 & ":" & col2 & .Range(col2 & "65536").End(xlUp).Row)
If InStr(1, cellule.Value, "Salarié") > 0 Then
lidep1 = lidep1 + 1
j = 4
Sheets(nomfeuille1).Range(col1 & lidep1) = cellule.Offset(0, 1).Value
End If
If InStr(1, cellule.Value, "Total semaine du ") > 0 Then
Sheets(nomfeuille1).Cells(lidep1, j + 1) = cellule.Offset(0, 3).Value
j = j + 1
End If
If InStr(1, cellule.Value, "TOTAUX") > 0 Then
Sheets(nomfeuille1).Cells(lidep1, j + 1) = cellule.Offset(0, 3).Value
End If
Next cellule
End With
End Sub
et tout tourne normalement
Merci à toi JP, non seulement pour le code mais aussi les explications... t'es génial et ce site est génial
@+