copie plage discontinue ( et en partie variable) VBA
11 réponses
J
Bonjour à tous,
j'essaie (en vain), pour tout pleins de feuilles,
de copier par VBA dans la première ligne vide d'une feuille de bilan :
en B et C je souhaite recopier les données d'origine de "K13 à Lder cel
remplie"
et pour chaque ligne où BC seront remplies, en A je souhaite recopier
"A1&B1" de la feuille d'origine,
je n'arrive à rien du tout d'utilisable
Y-a-t-il une âme charitable pour retoucher ma proc???
Merci d'avance
J@@
'*******
Sub Consolidtest()
Dim Feuille As Worksheet
For Each Feuille In ActiveWorkbook.Worksheets
If Feuille.Name <> "Bilan" _
And Feuille.Name <> "ListePel" Then
'si a13 de la feuille active n'est pas vide
'copie de "A1&C1 et de "K13:L13 à fin K:L" de la feuille active vers
'la première ligne vide, à partir de A7, de la feuille "Bilan".
If Feuille.Range("R1").Value = "Tahiti" _
And Feuille.Range("A13").Value <> "" Then
With Feuille
.Range("A1&B1", .Range("K65536:L65536").End(xlUp)).Copy _
'<=PLANTE
Destination:=Sheets("Bilan"). _
Range("A65536").End(xlUp)(2)
End With
Else: End If
End If
Next Feuille
End Sub
'********
en fait le pb est que la MEFC est copiée, mais n'est pas modifiée ensuite par le copié-collage du format que réalise ta proposition Comment supprimer cette Mefc??
Grâce à Papity j'ai la macro suivante qui marche très bien. mais les données copiées (colonne K) ont une MEFC, qui est malheureusement embarquée par la copie et pose problème, comment ne copier que la valeur??? j'ai tenté de rajouter Value, xlValues un peu partout mais sans succès.
"Papyty" <
Sub Consolidtest() Dim sFeuille As Worksheet Dim DerligSource As Double, DerligTarget As Double
For Each sFeuille In ActiveWorkbook.Worksheets With sFeuille If .Name <> "Bilan" _ And .Name <> "ListePel" Then 'si a13 de la sFeuille active n'est pas vide et R1 = Tahiti 'copie de "A1&C1 et de "K13:L13 à fin K:L" de la feuille active vers
'la première ligne vide, à partir de A7, de la feuille "Bilan".
'en A je souhaite recopier "A1&B1" de la feuille d'origine, 'en B et C je souhaite recopier les données d'origine de "K13 à Ldercel
If .[R1] = "Tahiti" _ And .[A13] <> "" Then DerligSource = .[K65536:L65536].End(xlUp).Row DerligTarget = Worksheets("Bilan"). _ [A65536].End(xlUp).Row + 1 If DerligTarget < 7 Then DerligTarget = 7 Worksheets("Bilan"). _ Range("a" & DerligTarget & ":a" & DerligTarget + _ DerligSource - 13) = .[A1] & " " & .[C1] .Range("K13:L" & DerligSource).Copy _ '<=== > > j'ai essayé d'ajouté value là, ça plante...
Destination:=Worksheets("Bilan"). _ Range("B" & DerligTarget) End If End If End With Next sFeuille End Sub
@+ Thierry 28/12/2003 12:44:12
Bonjour et merci Isabelle,
c'est parfait maintenant
passe de joyeuses fêtes et encore merci
@+
J@@
"isabelle" <
j'avions lu trop trop vite, est ce que comme ça, ça va ?
en fait le pb est que la MEFC est copiée, mais n'est pas modifiée
ensuite par le copié-collage du format que réalise ta proposition
Comment supprimer cette Mefc??
Grâce à Papity j'ai la macro suivante qui marche très bien.
mais les données copiées (colonne K) ont une MEFC, qui est
malheureusement embarquée par la copie et pose problème,
comment ne copier que la valeur??? j'ai tenté de rajouter Value,
xlValues un peu partout mais sans succès.
"Papyty" <
Sub Consolidtest()
Dim sFeuille As Worksheet
Dim DerligSource As Double, DerligTarget As Double
For Each sFeuille In ActiveWorkbook.Worksheets
With sFeuille
If .Name <> "Bilan" _
And .Name <> "ListePel" Then
'si a13 de la sFeuille active n'est pas vide et R1 = Tahiti
'copie de "A1&C1 et de "K13:L13 à fin K:L" de la feuille
active vers
'la première ligne vide, à partir de A7, de la feuille
"Bilan".
'en A je souhaite recopier "A1&B1" de la feuille d'origine,
'en B et C je souhaite recopier les données d'origine de "K13
à Ldercel
If .[R1] = "Tahiti" _
And .[A13] <> "" Then
DerligSource = .[K65536:L65536].End(xlUp).Row
DerligTarget = Worksheets("Bilan"). _
[A65536].End(xlUp).Row + 1
If DerligTarget < 7 Then DerligTarget = 7
Worksheets("Bilan"). _
Range("a" & DerligTarget & ":a" & DerligTarget + _
DerligSource - 13) = .[A1] & " " & .[C1]
.Range("K13:L" & DerligSource).Copy _
'<=== > > j'ai essayé d'ajouté value là, ça plante...
Destination:=Worksheets("Bilan"). _
Range("B" & DerligTarget)
End If
End If
End With
Next sFeuille
End Sub
en fait le pb est que la MEFC est copiée, mais n'est pas modifiée ensuite par le copié-collage du format que réalise ta proposition Comment supprimer cette Mefc??
Grâce à Papity j'ai la macro suivante qui marche très bien. mais les données copiées (colonne K) ont une MEFC, qui est malheureusement embarquée par la copie et pose problème, comment ne copier que la valeur??? j'ai tenté de rajouter Value, xlValues un peu partout mais sans succès.
"Papyty" <
Sub Consolidtest() Dim sFeuille As Worksheet Dim DerligSource As Double, DerligTarget As Double
For Each sFeuille In ActiveWorkbook.Worksheets With sFeuille If .Name <> "Bilan" _ And .Name <> "ListePel" Then 'si a13 de la sFeuille active n'est pas vide et R1 = Tahiti 'copie de "A1&C1 et de "K13:L13 à fin K:L" de la feuille active vers
'la première ligne vide, à partir de A7, de la feuille "Bilan".
'en A je souhaite recopier "A1&B1" de la feuille d'origine, 'en B et C je souhaite recopier les données d'origine de "K13 à Ldercel
If .[R1] = "Tahiti" _ And .[A13] <> "" Then DerligSource = .[K65536:L65536].End(xlUp).Row DerligTarget = Worksheets("Bilan"). _ [A65536].End(xlUp).Row + 1 If DerligTarget < 7 Then DerligTarget = 7 Worksheets("Bilan"). _ Range("a" & DerligTarget & ":a" & DerligTarget + _ DerligSource - 13) = .[A1] & " " & .[C1] .Range("K13:L" & DerligSource).Copy _ '<=== > > j'ai essayé d'ajouté value là, ça plante...
Destination:=Worksheets("Bilan"). _ Range("B" & DerligTarget) End If End If End With Next sFeuille End Sub