bonjour
code de denismichon (transferer des lignes)
le code ci-dessous (code de denismichon (transferer des lignes) me transfere
les lignes demandees, d'une feuill (chaleur) vers une autre feuill (histo) .
Est ce possible qu'au niveau du transfere il importe uniquement les donnees
inscrites dans la feuille (chaleur) c'est a dire sans les formules .par contre
il garde les autres actions d'effacement de donnees transferees
sans cette modif ,les donnees tranferees ne sont pas exactes car les formules
modifient le resultat sur la feuille qui recoit le transfer
j'espere que ma demande est suffisamment explicite
Sub Transferer_Lignes()
Dim NoLignes As Variant, NLig As Variant
Dim Rg As Range, Rg1 As Range, A As Long
Dim Dest As Range
'Les Numéros de lignes à transférer
NoLignes = Application.InputBox("Vos numéros de lignes." & _
"Syntaxe : 1-5-10", "Transfert de lignes", , , , , , 2)
If NoLignes = "Faux" Then Exit Sub
'Détermine où copier les données
With Worksheets("histo")
If .Range("A1") = "" Then
Set Dest = .Range("A1")
Else
Set Dest = .Range("A" & .Range("a65536").End(xlUp)(2).Row)
End If
End With
NLig = Split(NoLignes, "-")
'Identifie la plage à copier
With Worksheets("chaleur")
For A = LBound(NLig) To UBound(NLig)
If IsNumeric(NLig(A)) = True Then
If Rg Is Nothing Then
Set Rg = .Range("a" & NLig(A) & ":P" & NLig(A))
Else
Set Rg = Union(Rg, .Range("a" & NLig(A) & ":P" & NLig(A)))
End If
End If
Next
End With
'Copie la plage
Rg.Copy Dest
'Effacer les données de la plage source H à P inclusivement
For Each are In Rg.Areas
Set Rg1 = are.Offset(, 7).Resize(Rg.Rows.Count, Rg.Columns.Count -
7).SpecialCells(xlCellTypeConstants, 23)
Rg1.ClearContents
Next
'Libère la mémoire
Set Rg = Nothing: Set Rg1 = Nothing: Set Dest = Nothing
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FxM
Bonjour,
(non testé) remplace: Rg.Copy Dest
par
Rg.Copy Dest.PasteSpecial xlPasteValues
@+ FxM
Srogeau a écrit:
bonjour code de denismichon (transferer des lignes) le code ci-dessous (code de denismichon (transferer des lignes) me transfere les lignes demandees, d'une feuill (chaleur) vers une autre feuill (histo) . Est ce possible qu'au niveau du transfere il importe uniquement les donnees inscrites dans la feuille (chaleur) c'est a dire sans les formules .par contre il garde les autres actions d'effacement de donnees transferees sans cette modif ,les donnees tranferees ne sont pas exactes car les formules modifient le resultat sur la feuille qui recoit le transfer j'espere que ma demande est suffisamment explicite Sub Transferer_Lignes()
Dim NoLignes As Variant, NLig As Variant Dim Rg As Range, Rg1 As Range, A As Long Dim Dest As Range
'Les Numéros de lignes à transférer NoLignes = Application.InputBox("Vos numéros de lignes." & _ "Syntaxe : 1-5-10", "Transfert de lignes", , , , , , 2)
If NoLignes = "Faux" Then Exit Sub
'Détermine où copier les données With Worksheets("histo") If .Range("A1") = "" Then Set Dest = .Range("A1") Else Set Dest = .Range("A" & .Range("a65536").End(xlUp)(2).Row) End If End With
NLig = Split(NoLignes, "-")
'Identifie la plage à copier With Worksheets("chaleur") For A = LBound(NLig) To UBound(NLig) If IsNumeric(NLig(A)) = True Then If Rg Is Nothing Then Set Rg = .Range("a" & NLig(A) & ":P" & NLig(A)) Else Set Rg = Union(Rg, .Range("a" & NLig(A) & ":P" & NLig(A))) End If End If Next End With
'Copie la plage Rg.Copy Dest
'Effacer les données de la plage source H à P inclusivement For Each are In Rg.Areas Set Rg1 = are.Offset(, 7).Resize(Rg.Rows.Count, Rg.Columns.Count - 7).SpecialCells(xlCellTypeConstants, 23) Rg1.ClearContents Next
'Libère la mémoire Set Rg = Nothing: Set Rg1 = Nothing: Set Dest = Nothing
End Sub
MERCI ..
Bonjour,
(non testé) remplace:
Rg.Copy Dest
par
Rg.Copy
Dest.PasteSpecial xlPasteValues
@+
FxM
Srogeau a écrit:
bonjour
code de denismichon (transferer des lignes)
le code ci-dessous (code de denismichon (transferer des lignes) me transfere
les lignes demandees, d'une feuill (chaleur) vers une autre feuill (histo) .
Est ce possible qu'au niveau du transfere il importe uniquement les donnees
inscrites dans la feuille (chaleur) c'est a dire sans les formules .par contre
il garde les autres actions d'effacement de donnees transferees
sans cette modif ,les donnees tranferees ne sont pas exactes car les formules
modifient le resultat sur la feuille qui recoit le transfer
j'espere que ma demande est suffisamment explicite
Sub Transferer_Lignes()
Dim NoLignes As Variant, NLig As Variant
Dim Rg As Range, Rg1 As Range, A As Long
Dim Dest As Range
'Les Numéros de lignes à transférer
NoLignes = Application.InputBox("Vos numéros de lignes." & _
"Syntaxe : 1-5-10", "Transfert de lignes", , , , , , 2)
If NoLignes = "Faux" Then Exit Sub
'Détermine où copier les données
With Worksheets("histo")
If .Range("A1") = "" Then
Set Dest = .Range("A1")
Else
Set Dest = .Range("A" & .Range("a65536").End(xlUp)(2).Row)
End If
End With
NLig = Split(NoLignes, "-")
'Identifie la plage à copier
With Worksheets("chaleur")
For A = LBound(NLig) To UBound(NLig)
If IsNumeric(NLig(A)) = True Then
If Rg Is Nothing Then
Set Rg = .Range("a" & NLig(A) & ":P" & NLig(A))
Else
Set Rg = Union(Rg, .Range("a" & NLig(A) & ":P" & NLig(A)))
End If
End If
Next
End With
'Copie la plage
Rg.Copy Dest
'Effacer les données de la plage source H à P inclusivement
For Each are In Rg.Areas
Set Rg1 = are.Offset(, 7).Resize(Rg.Rows.Count, Rg.Columns.Count -
7).SpecialCells(xlCellTypeConstants, 23)
Rg1.ClearContents
Next
'Libère la mémoire
Set Rg = Nothing: Set Rg1 = Nothing: Set Dest = Nothing
bonjour code de denismichon (transferer des lignes) le code ci-dessous (code de denismichon (transferer des lignes) me transfere les lignes demandees, d'une feuill (chaleur) vers une autre feuill (histo) . Est ce possible qu'au niveau du transfere il importe uniquement les donnees inscrites dans la feuille (chaleur) c'est a dire sans les formules .par contre il garde les autres actions d'effacement de donnees transferees sans cette modif ,les donnees tranferees ne sont pas exactes car les formules modifient le resultat sur la feuille qui recoit le transfer j'espere que ma demande est suffisamment explicite Sub Transferer_Lignes()
Dim NoLignes As Variant, NLig As Variant Dim Rg As Range, Rg1 As Range, A As Long Dim Dest As Range
'Les Numéros de lignes à transférer NoLignes = Application.InputBox("Vos numéros de lignes." & _ "Syntaxe : 1-5-10", "Transfert de lignes", , , , , , 2)
If NoLignes = "Faux" Then Exit Sub
'Détermine où copier les données With Worksheets("histo") If .Range("A1") = "" Then Set Dest = .Range("A1") Else Set Dest = .Range("A" & .Range("a65536").End(xlUp)(2).Row) End If End With
NLig = Split(NoLignes, "-")
'Identifie la plage à copier With Worksheets("chaleur") For A = LBound(NLig) To UBound(NLig) If IsNumeric(NLig(A)) = True Then If Rg Is Nothing Then Set Rg = .Range("a" & NLig(A) & ":P" & NLig(A)) Else Set Rg = Union(Rg, .Range("a" & NLig(A) & ":P" & NLig(A))) End If End If Next End With
'Copie la plage Rg.Copy Dest
'Effacer les données de la plage source H à P inclusivement For Each are In Rg.Areas Set Rg1 = are.Offset(, 7).Resize(Rg.Rows.Count, Rg.Columns.Count - 7).SpecialCells(xlCellTypeConstants, 23) Rg1.ClearContents Next
'Libère la mémoire Set Rg = Nothing: Set Rg1 = Nothing: Set Dest = Nothing