Re : VBA : Collage special
bonjour les amis,
J'ai un problème qui ressemble au votre.
Ma macro sert a chercher un mot zffiché sur une cellule le long d'une ligne après chercher un code le long de la colonne sélectionnée.
On copie les lignes qui contiennent le code .
Sauf que le probleme est le meme j'ai des formules sur certaines lignes et j'arrive pas à changer ma macro.
Voila ma macro:
Sub recherche()
Dim F1 As Worksheet, F3 As Worksheet, col, n&, cel As Range, cel1 As Range
Set F1 = Sheets("Agences") 'feuille de données
Set F3 = Sheets("Affichage") 'feuille de restitution
F1.Cells.Copy F3.Cells 'pour copier les formats des colonnes, on peut supprimer ensuite
F3.Rows("2:65536").Clear
col = Application.Match([G5], F1.Rows(4), 0)
If IsError(col) Or [H7] = "" Then Exit Sub
n = 2
For Each cel In F1.Range(F1.Cells(2, col), F1.Cells(65536, col).End(xlUp))
If LCase(cel) Like "*" & LCase([H7]) & "*" Then
cel.MergeArea.EntireRow.Copy F3.Rows(n)
If Not cel.MergeCells Then
For Each cel1 In Intersect(F3.Rows(n), F3.UsedRange)
With cel1
If F1.Cells(cel.Row, .Column).MergeCells Then
.Value = F1.Cells(cel.Row, .Column).MergeArea(1)
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.WrapText = True 'retour à la ligne
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End If
End With
Next
End If
n = n + cel.MergeArea.Count
End If
Next
F3.Activate 'facultatif
End Sub
Merci pour votre aide