Re : extraction de ligne excel vers autre onglet
Bonjour Doublezero,
super, j'avais essayé de le faire et ça fonctionnait plus ou moins bien (je n'arrivait pas à le boucler en macro), le problème était aussi justement que mon tableau comporte déjà des cellules fusionnées (et que c'est un tableau collaboratif utilisé par plusieurs personnes --> on ne peux pas le changer et déffusionner les cellules).
C'est pourquoi j'essayais de faire cela avec une macro.
Voici son ébauche mais ça ne marche pas (il faut dire que je ne suis pas une flèche en VBA), peut être t'y connais tu mieux que moi!:
Private Sub CommandButton1_Click()
Dim lig_vide As Byte
Dim nbre As Byte, cptr As Byte, lig As Byte, hauteur As Single
Dim As BML
'initialisation
Application.ScreenUpdating = False
lig_vide = 7
With Sheets("Feuil2")
.Range("A7:N999").Clear
.Rows("7:999").RowHeight = 14
End With
' tous les filtres avec vritère "tous"
Sheets("Feuil1").Select
Selection.AutoFilter Field:=2
Selection.AutoFilter Field:=3
Selection.AutoFilter Field:=4
Selection.AutoFilter Field:=5
Selection.AutoFilter Field:=6
Selection.AutoFilter Field:=7
Selection.AutoFilter Field:=8
Selection.AutoFilter Field:=9
Selection.AutoFilter Field:=10
Selection.AutoFilter Field:=11
Selection.AutoFilter Field:=12
Selection.AutoFilter Field:=13
Selection.AutoFilter Field:=14
'extraction des données
nbre = Application.CountIf(.Range("F7:F260"), "site1" Or "site2")
lig = 6
For cptr = 1 To nbre
lig = .Columns("F").Find("site1" Or "site2", .Cells(lig, "F")).Row
hauteur = .Rows(lig).RowHeight
BML = .Range(.Cells(lig, "A"), .Cells(lig, "N")).Value
With Sheets("Feuil2").Cells(lig_vide, "A").Resize(1, 13)
.Value = BML
.RowHeight = hauteur
.VerticalAlignment = xlTop
.WrapText = True
End With
lig_vide = lig_vide + 1
Next
Sheets("Feuil2").Range("A7:N" & lig_vide - 1).Borders.Weight = xlThin
For Each cel In ActiveSheet.UsedRange
If cel <> "" Then
Set m = cel.MergeArea
m.UnMerge
m.WrapText = True 'renvoie à la ligne
m.HorizontalAlignment = xlCenterAcrossSelection
m.Rows.AutoFit
m.Merge
m.HorizontalAlignment = xlGeneral 'facultatif bien sûr
End If
Next
End Sub
Merci et a+