Bonjour à tous,
Je cherche depuis un certain temps à faire une macro pour pouvoir copier-coller des cellules non vides dans un autre onglet.
Je joins un fichier d'exemple.
Pour le moment, je suis arrivée à ce code qui ne fonctionne pas juste pour les cellules non vides de la colonne C :
Sub CutData()
Dim MotCle
Dim i As Byte
Dim C As Range
Dim F As String
Dim Ligne As Long
'On définit les mots clés
MotCle = Array("Open => 1:45 pm", "Open => 2:45 pm", "Middle 12 => 4 pm", "Middle 12 => 5 pm", “MIT”, “Middle 1 => 6 pm”, “Load”, “Middle EXC.”, “Unusual”, “Close <= 4:15 pm”, “Close <= 5:15 pm” )
'On effectue la recherche de chaque mot clé dans la colonne F de la sheet1
For i = 0 To UBound(MotCle)
Do
Set C = Worksheets("Det. Week1&2").Columns(6).Find(MotCle(i), LookIn:=xlValues, lookat:=xlPart)
'Si le mot clé est trouvé
If Not C Is Nothing Then
'On définit le nom de la feuille où sera effectuée la copie
F = "Colored shifts" & (i + 2)
With Worksheets(F)
'On définit la ligne où sera effectué le collage
Ligne = .Range("F" & Rows.Count).End(xlUp).Row + 1
'On effectue le copier / coller
C.EntireRow.Copy .Range("A" & Ligne)
'On supprime la ligne dans la sheet1
C.EntireRow.Delete
End With
End If
Loop While Not C Is Nothing
Next i
End Sub
Si quelqu'un peut m'aider.
D'avance merci
Je cherche depuis un certain temps à faire une macro pour pouvoir copier-coller des cellules non vides dans un autre onglet.
- dans l'onglet Det. Week 1&2 = récupérer date en C2
- dans l'onglet Det. Week 1&2 récupérer les cellules non vides d'horaires de shift de la colonne C (ex C15)
- les insérer dans l'onglet "colored shifts" en colonne B
- Cela pour toutes les colonnes avec date
Je joins un fichier d'exemple.
Pour le moment, je suis arrivée à ce code qui ne fonctionne pas juste pour les cellules non vides de la colonne C :
Sub CutData()
Dim MotCle
Dim i As Byte
Dim C As Range
Dim F As String
Dim Ligne As Long
'On définit les mots clés
MotCle = Array("Open => 1:45 pm", "Open => 2:45 pm", "Middle 12 => 4 pm", "Middle 12 => 5 pm", “MIT”, “Middle 1 => 6 pm”, “Load”, “Middle EXC.”, “Unusual”, “Close <= 4:15 pm”, “Close <= 5:15 pm” )
'On effectue la recherche de chaque mot clé dans la colonne F de la sheet1
For i = 0 To UBound(MotCle)
Do
Set C = Worksheets("Det. Week1&2").Columns(6).Find(MotCle(i), LookIn:=xlValues, lookat:=xlPart)
'Si le mot clé est trouvé
If Not C Is Nothing Then
'On définit le nom de la feuille où sera effectuée la copie
F = "Colored shifts" & (i + 2)
With Worksheets(F)
'On définit la ligne où sera effectué le collage
Ligne = .Range("F" & Rows.Count).End(xlUp).Row + 1
'On effectue le copier / coller
C.EntireRow.Copy .Range("A" & Ligne)
'On supprime la ligne dans la sheet1
C.EntireRow.Delete
End With
End If
Loop While Not C Is Nothing
Next i
End Sub
Si quelqu'un peut m'aider.
D'avance merci