OVH Cloud OVH Cloud

Copie de valeurs seules

10 réponses
Avatar
Eau de Source
Bonsoir,

Je fabrique une formule qui copie des cellules qui sont issues de formule.
Et à chaque fois je me retrouve avec la copie de la formule et ce fait
perturbe mes calcul.
Comment avoir la valeur seule d'une façon automatique

Merci d'avance
Marco

10 réponses

Avatar
ru-th
Salut Vittel
Ben, le principe d'une formule, c'est d'être une formule pas une valeur
via VBa, tu peux
du type : range("c1").value=range("A1").value
ou [C1]=[A1]

peux-tu ,somme toute, légèrement, préciser ta pensée ainsi que ses
implications sémantiques.
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Eau de Source" a écrit dans le message de news:
bp0q5t$o1p$
Bonsoir,

Je fabrique une formule qui copie des cellules qui sont issues de formule.
Et à chaque fois je me retrouve avec la copie de la formule et ce fait
perturbe mes calcul.
Comment avoir la valeur seule d'une façon automatique

Merci d'avance
Marco




Avatar
jp
Facile;
tu fais copier
tu cliques dans la cellule où tu veux coller
Menu Édition, collage spécial, valeurs
alors la valeur va se coller et non la formule
tu peux aussi faire collage spécial format (alors seul le
format se colle mais pas la valeur ni la formule)
salut
jp
-----Message d'origine-----
Bonsoir,

Je fabrique une formule qui copie des cellules qui sont
issues de formule.

Et à chaque fois je me retrouve avec la copie de la
formule et ce fait

perturbe mes calcul.
Comment avoir la valeur seule d'une façon automatique

Merci d'avance
Marco


.



Avatar
Eau de Source
Voici la procédure que j'utilise pour faire la copie.(Solution issue de ce
forum, de la part de Michdenis)

Elle met (colle), dans des feuilles de classeur, les éléments qui la
concerne à partir de données réunis dans une feuille principale.

Donc, mon souhait, c'est que la copie des lignes dans la feuille désirée ne
concerne que les valeurs et non les formules.

Merci d'avance
Marco

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Plg As Range, Found As Range
Dim Rg As Range, Rg1 As Range, DerLig As Long
Set Plg = Intersect(Target, Range("A:H"))
If Not Plg Is Nothing Then
For Each r In Plg.Rows
Set Rg = Range("A" & r.Row & ":J" & r.Row)
If Application.CountA(Rg) = 10 Then
With Worksheets(Rg(, 2).Text)
DerLig = .Range("A65536").End(xlUp).Row
Set Found = .Range("A1:A" & DerLig).Find(Rg(1, 1), _
LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlRows)
If Found Is Nothing Then
If .Range("A1") = "" Then
Set Rg1 = .Range("A1")
Else
Set Rg1 = .Range("A" &
.Range("A65536").End(xlUp)(2).Row)
End If
Rg.Copy Rg1
Else
Rg.Copy Found
End If
End With
End If
Next
End If
Set Rg = Nothing: Set Plg = Nothing: Set Rg1 = Nothing: Set Found Nothing
End Sub

"ru-th" a écrit dans le message de
news:O5rd%
Salut Vittel
Ben, le principe d'une formule, c'est d'être une formule pas une valeur
via VBa, tu peux
du type : range("c1").value=range("A1").value
ou [C1]=[A1]

peux-tu ,somme toute, légèrement, préciser ta pensée ainsi que ses
implications sémantiques.
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Eau de Source" a écrit dans le message de
news:

bp0q5t$o1p$
Bonsoir,

Je fabrique une formule qui copie des cellules qui sont issues de
formule.


Et à chaque fois je me retrouve avec la copie de la formule et ce fait
perturbe mes calcul.
Comment avoir la valeur seule d'une façon automatique

Merci d'avance
Marco








Avatar
ru-th
Salut

sous réserve d'une bonne compréhension de la macro
modification (pas très joli du code de Denis)
With Worksheets(Rg(, 2).Text)
DerLig = .Range("A65536").End(xlUp).Row
Set Found = .Range("A1:A" & DerLig).Find(Rg(1, 1), _
LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlRows)
If Found Is Nothing Then
If .Range("A1") = "" Then
Set Rg1 = .Range("A1")
Else
Set Rg1 = .Range("A" &
.Range("A65536").End(xlUp)(2).Row)
End If
Rg.Copy
.Select
Rg1.PasteSpecial (xlPasteValues)
Else
Rg.Copy
.Select
Found.PasteSpecial (xlPasteValues)
End If
'Prévoir sheets("TaFeuilledeDépart").Select
Application.CutCopyMode = False
End With

--
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Eau de Source" a écrit dans le message de news:
bp3dkg$eu5$
Voici la procédure que j'utilise pour faire la copie.(Solution issue de ce
forum, de la part de Michdenis)

Elle met (colle), dans des feuilles de classeur, les éléments qui la
concerne à partir de données réunis dans une feuille principale.

Donc, mon souhait, c'est que la copie des lignes dans la feuille désirée
ne

concerne que les valeurs et non les formules.

Merci d'avance
Marco

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Plg As Range, Found As Range
Dim Rg As Range, Rg1 As Range, DerLig As Long
Set Plg = Intersect(Target, Range("A:H"))
If Not Plg Is Nothing Then
For Each r In Plg.Rows
Set Rg = Range("A" & r.Row & ":J" & r.Row)
If Application.CountA(Rg) = 10 Then
With Worksheets(Rg(, 2).Text)
DerLig = .Range("A65536").End(xlUp).Row
Set Found = .Range("A1:A" & DerLig).Find(Rg(1, 1), _
LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlRows)
If Found Is Nothing Then
If .Range("A1") = "" Then
Set Rg1 = .Range("A1")
Else
Set Rg1 = .Range("A" &
.Range("A65536").End(xlUp)(2).Row)
End If
Rg.Copy Rg1
Else
Rg.Copy Found
End If
End With
End If
Next
End If
Set Rg = Nothing: Set Plg = Nothing: Set Rg1 = Nothing: Set Found > Nothing
End Sub

"ru-th" a écrit dans le message de
news:O5rd%
Salut Vittel
Ben, le principe d'une formule, c'est d'être une formule pas une valeur
via VBa, tu peux
du type : range("c1").value=range("A1").value
ou [C1]=[A1]

peux-tu ,somme toute, légèrement, préciser ta pensée ainsi que ses
implications sémantiques.
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Eau de Source" a écrit dans le message de
news:

bp0q5t$o1p$
Bonsoir,

Je fabrique une formule qui copie des cellules qui sont issues de
formule.


Et à chaque fois je me retrouve avec la copie de la formule et ce fait
perturbe mes calcul.
Comment avoir la valeur seule d'une façon automatique

Merci d'avance
Marco












Avatar
Eau de Source
J'essaye cette après midi, avec mes remerciements
Marco

"ru-th" a écrit dans le message de
news:
Salut

sous réserve d'une bonne compréhension de la macro
modification (pas très joli du code de Denis)
With Worksheets(Rg(, 2).Text)
DerLig = .Range("A65536").End(xlUp).Row
Set Found = .Range("A1:A" & DerLig).Find(Rg(1, 1), _
LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlRows)
If Found Is Nothing Then
If .Range("A1") = "" Then
Set Rg1 = .Range("A1")
Else
Set Rg1 = .Range("A" &
.Range("A65536").End(xlUp)(2).Row)
End If
Rg.Copy
.Select
Rg1.PasteSpecial (xlPasteValues)
Else
Rg.Copy
.Select
Found.PasteSpecial (xlPasteValues)
End If
'Prévoir sheets("TaFeuilledeDépart").Select
Application.CutCopyMode = False
End With

--
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Eau de Source" a écrit dans le message de
news:

bp3dkg$eu5$
Voici la procédure que j'utilise pour faire la copie.(Solution issue de
ce


forum, de la part de Michdenis)

Elle met (colle), dans des feuilles de classeur, les éléments qui la
concerne à partir de données réunis dans une feuille principale.

Donc, mon souhait, c'est que la copie des lignes dans la feuille désirée
ne

concerne que les valeurs et non les formules.

Merci d'avance
Marco

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Plg As Range, Found As Range
Dim Rg As Range, Rg1 As Range, DerLig As Long
Set Plg = Intersect(Target, Range("A:H"))
If Not Plg Is Nothing Then
For Each r In Plg.Rows
Set Rg = Range("A" & r.Row & ":J" & r.Row)
If Application.CountA(Rg) = 10 Then
With Worksheets(Rg(, 2).Text)
DerLig = .Range("A65536").End(xlUp).Row
Set Found = .Range("A1:A" & DerLig).Find(Rg(1, 1), _
LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlRows)
If Found Is Nothing Then
If .Range("A1") = "" Then
Set Rg1 = .Range("A1")
Else
Set Rg1 = .Range("A" &
.Range("A65536").End(xlUp)(2).Row)
End If
Rg.Copy Rg1
Else
Rg.Copy Found
End If
End With
End If
Next
End If
Set Rg = Nothing: Set Plg = Nothing: Set Rg1 = Nothing: Set Found > > Nothing
End Sub

"ru-th" a écrit dans le message de
news:O5rd%
Salut Vittel
Ben, le principe d'une formule, c'est d'être une formule pas une
valeur



via VBa, tu peux
du type : range("c1").value=range("A1").value
ou [C1]=[A1]

peux-tu ,somme toute, légèrement, préciser ta pensée ainsi que ses
implications sémantiques.
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Eau de Source" a écrit dans le message de
news:

bp0q5t$o1p$
Bonsoir,

Je fabrique une formule qui copie des cellules qui sont issues de
formule.


Et à chaque fois je me retrouve avec la copie de la formule et ce
fait




perturbe mes calcul.
Comment avoir la valeur seule d'une façon automatique

Merci d'avance
Marco
















Avatar
Philippe.R
Hep Thierry,
C'est limite devian, comme réponse !
--
Amicales Salutations


"ru-th" a écrit dans le message de news:O5rd%
Salut Vittel


Avatar
Eau de Source
Voilà des propos pétillants
Marco

"Philippe.R" a écrit dans le message de
news:eJZyn%
Hep Thierry,
C'est limite devian, comme réponse !
--
Amicales Salutations


"ru-th" a écrit dans le message de
news:O5rd%

Salut Vittel






Avatar
Philippe.R
;o)))

"Eau de Source" a écrit dans le message de
news:bp4n9h$nr3$
Voilà des propos pétillants
Marco

"Philippe.R" a écrit dans le message de
news:eJZyn%
Hep Thierry,
C'est limite devian, comme réponse !
--
Amicales Salutations


"ru-th" a écrit dans le message de
news:O5rd%

Salut Vittel










Avatar
Eau de Source
Je ne comprends pas ça :
'Prévoir sheets("TaFeuilledeDépart").Select

Je suis en train de découvrir VBE et voilà ce que j'ignore

Dois-je mettre le '

Que veux-tu dire par "prévoir" d'une part et d'autre part sheets

Quant à MaFeuilledeDépart, voilà au moins quelque chose que je connais,

mais dis moi le rôle des parenthèses et les guillemets, dois les mettre

Je te remercie

Marco



"ru-th" a écrit dans le message de
news:
Salut

sous réserve d'une bonne compréhension de la macro
modification (pas très joli du code de Denis)
With Worksheets(Rg(, 2).Text)
DerLig = .Range("A65536").End(xlUp).Row
Set Found = .Range("A1:A" & DerLig).Find(Rg(1, 1), _
LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlRows)
If Found Is Nothing Then
If .Range("A1") = "" Then
Set Rg1 = .Range("A1")
Else
Set Rg1 = .Range("A" &
.Range("A65536").End(xlUp)(2).Row)
End If
Rg.Copy
.Select
Rg1.PasteSpecial (xlPasteValues)
Else
Rg.Copy
.Select
Found.PasteSpecial (xlPasteValues)
End If
'Prévoir sheets("TaFeuilledeDépart").Select
Application.CutCopyMode = False
End With

--
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Eau de Source" a écrit dans le message de
news:

bp3dkg$eu5$
Voici la procédure que j'utilise pour faire la copie.(Solution issue de
ce


forum, de la part de Michdenis)

Elle met (colle), dans des feuilles de classeur, les éléments qui la
concerne à partir de données réunis dans une feuille principale.

Donc, mon souhait, c'est que la copie des lignes dans la feuille désirée
ne

concerne que les valeurs et non les formules.

Merci d'avance
Marco

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Plg As Range, Found As Range
Dim Rg As Range, Rg1 As Range, DerLig As Long
Set Plg = Intersect(Target, Range("A:H"))
If Not Plg Is Nothing Then
For Each r In Plg.Rows
Set Rg = Range("A" & r.Row & ":J" & r.Row)
If Application.CountA(Rg) = 10 Then
With Worksheets(Rg(, 2).Text)
DerLig = .Range("A65536").End(xlUp).Row
Set Found = .Range("A1:A" & DerLig).Find(Rg(1, 1), _
LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlRows)
If Found Is Nothing Then
If .Range("A1") = "" Then
Set Rg1 = .Range("A1")
Else
Set Rg1 = .Range("A" &
.Range("A65536").End(xlUp)(2).Row)
End If
Rg.Copy Rg1
Else
Rg.Copy Found
End If
End With
End If
Next
End If
Set Rg = Nothing: Set Plg = Nothing: Set Rg1 = Nothing: Set Found > > Nothing
End Sub

"ru-th" a écrit dans le message de
news:O5rd%
Salut Vittel
Ben, le principe d'une formule, c'est d'être une formule pas une
valeur



via VBa, tu peux
du type : range("c1").value=range("A1").value
ou [C1]=[A1]

peux-tu ,somme toute, légèrement, préciser ta pensée ainsi que ses
implications sémantiques.
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Eau de Source" a écrit dans le message de
news:

bp0q5t$o1p$
Bonsoir,

Je fabrique une formule qui copie des cellules qui sont issues de
formule.


Et à chaque fois je me retrouve avec la copie de la formule et ce
fait




perturbe mes calcul.
Comment avoir la valeur seule d'une façon automatique

Merci d'avance
Marco
















Avatar
sabatier
bonsoir eau de source
bon, comme ce soir le broutard est allé téter aure chose que de la
badoit, je prends le relais...
je crois comprendre que thierry veut que tu écrives la ligne suivante,
juste au-dessus de Application.CutCopy etc...

Sheets("ici le nom de ta feuille en conservant les guillemets"). Select

et puisque tu te poses la question de savoir si tu dois mettre le ',
sache que l'apostrophe dans une ligne de procédure met tous les mots qui
la suivent en commentaires, ce que tu remarques tout de suite car ils (y
compris l'apostrophe) sont de couleur verte...
si tu construis une macro en forme d'usine à gaz, ces commentaires te
permettent de t'y retrouver car tu peux les entrelarder entre tes lignes
et ainsi mieux suivre le cheminement de ta pensée...
cette apostrophe est aussi bien utile si, au cours de tes essais, tu
veux isoler une ou plusieurs lignes pour voir l'effet produit...
pour isoler tout un bloc de lignes, je te conseille de monter dans la
barre d'outils de VBE deux icônes : l'une s'appelle "commenter bloc",
l'autre "ne pas commenter bloc"...
bon, là-dessus, je vais aller rejoindre le père brossollette qui a dû me
garder un peu de vin de messe, bourgueil ou chinon peut-être...
HTH
jps

Eau de Source a écrit:
Je ne comprends pas ça :
'Prévoir sheets("TaFeuilledeDépart").Select

Je suis en train de découvrir VBE et voilà ce que j'ignore

Dois-je mettre le '

Que veux-tu dire par "prévoir" d'une part et d'autre part sheets

Quant à MaFeuilledeDépart, voilà au moins quelque chose que je connais,

mais dis moi le rôle des parenthèses et les guillemets, dois les mettre

Je te remercie

Marco



"ru-th" a écrit dans le message de
news:

Salut

sous réserve d'une bonne compréhension de la macro
modification (pas très joli du code de Denis)
With Worksheets(Rg(, 2).Text)
DerLig = .Range("A65536").End(xlUp).Row
Set Found = .Range("A1:A" & DerLig).Find(Rg(1, 1), _
LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlRows)
If Found Is Nothing Then
If .Range("A1") = "" Then
Set Rg1 = .Range("A1")
Else
Set Rg1 = .Range("A" &
.Range("A65536").End(xlUp)(2).Row)
End If
Rg.Copy
.Select
Rg1.PasteSpecial (xlPasteValues)
Else
Rg.Copy
.Select
Found.PasteSpecial (xlPasteValues)
End If
'Prévoir sheets("TaFeuilledeDépart").Select
Application.CutCopyMode = False
End With

--
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Eau de Source" a écrit dans le message de


news:

bp3dkg$eu5$

Voici la procédure que j'utilise pour faire la copie.(Solution issue de


ce


forum, de la part de Michdenis)

Elle met (colle), dans des feuilles de classeur, les éléments qui la
concerne à partir de données réunis dans une feuille principale.

Donc, mon souhait, c'est que la copie des lignes dans la feuille désirée


ne

concerne que les valeurs et non les formules.

Merci d'avance
Marco

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Plg As Range, Found As Range
Dim Rg As Range, Rg1 As Range, DerLig As Long
Set Plg = Intersect(Target, Range("A:H"))
If Not Plg Is Nothing Then
For Each r In Plg.Rows
Set Rg = Range("A" & r.Row & ":J" & r.Row)
If Application.CountA(Rg) = 10 Then
With Worksheets(Rg(, 2).Text)
DerLig = .Range("A65536").End(xlUp).Row
Set Found = .Range("A1:A" & DerLig).Find(Rg(1, 1), _
LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlRows)
If Found Is Nothing Then
If .Range("A1") = "" Then
Set Rg1 = .Range("A1")
Else
Set Rg1 = .Range("A" &
.Range("A65536").End(xlUp)(2).Row)
End If
Rg.Copy Rg1
Else
Rg.Copy Found
End If
End With
End If
Next
End If
Set Rg = Nothing: Set Plg = Nothing: Set Rg1 = Nothing: Set Found >>>Nothing
End Sub

"ru-th" a écrit dans le message de
news:O5rd%

Salut Vittel
Ben, le principe d'une formule, c'est d'être une formule pas une


valeur



via VBa, tu peux
du type : range("c1").value=range("A1").value
ou [C1]=[A1]

peux-tu ,somme toute, légèrement, préciser ta pensée ainsi que ses
implications sémantiques.
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Eau de Source" a écrit dans le message de


news:

bp0q5t$o1p$

Bonsoir,

Je fabrique une formule qui copie des cellules qui sont issues de


formule.


Et à chaque fois je me retrouve avec la copie de la formule et ce


fait




perturbe mes calcul.
Comment avoir la valeur seule d'une façon automatique

Merci d'avance
Marco