Excel: macro de copie valeurs sans formule

Fermé
axion - 12 janv. 2012 à 21:31
 axion - 24 janv. 2012 à 23:27
Bonsoir,

Je recherche le moyen de copier certaines valeurs d'une 1ere feuille sur une seconde,
selon la macro ci-dessous, mais j'obtiens les valeurs pour valeurs des 1eres et fonctions pour fonctions des 1eres; or, je ne souhaite obtenir en copie que les valeurs obtenues des fonctions, sans copier les fonctions.
quelle syntaxe dois-je employer ou rajouter / modifier sur ce concept ?
je remercie par avance les âmes charitables qui comprendront mon charabia et corrigeront cette copie

Sub Transf()
'
' Transf Macro
'
'
Range("F11").Select

If MsgBox("VALIDATION CONFIRMEE ?", vbYesNo, "Confirmation") = vbYes Then

Range("A11:G11").Select
Selection.Copy
Sheets("Feuil2").Select
derlig = Range("A200").End(xlUp).Offset(1).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Application.CutCopyMode = False
Sheets("Feuil1").Select
Range("A15:G15").Select
Selection.Copy
Sheets("Feuil2").Select
derlig = Range("H200").End(xlUp).Offset(1).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Feuil1").Select
[B11:E11,G11,B15:F15].ClearContents
Worksheets("Feuil1").Range("A11").Value = Worksheets("Feuil1").Range("A11").Value + 1
Range("B11").Select
Application.CutCopyMode = False

End If

End Sub

malgré les tutos, je n'ai pas trouvé de réponse

bonne soirée à tous et encore merci de votre secours
cordialement
axion


A voir également:

3 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 216
12 janv. 2012 à 21:58
Bonjour,

Je ne te refais pas tout le code mais juste un exemple pour copier les valeurs d'une plage.
A mettre dans Feuil1 :
    Dim lig As Long
    lig = [Feuil2!A65536].End(xlUp).Row + 1
    Worksheets("Feuil2").Cells(lig, 1).Resize(1, 7) = [A11:G11].Value

eric
1
Bonsoir Eric,

Merci de ta réponse rapide, mais d'abord, s'il n'est pas trop tard, je te présente tous mes Meilleurs Voeux pour 2012

je vais essayer de reprendre d'après ton avis
toutefois, j'ai 2 lignes séparées à coller "à la suite" sur la 2nde feuille, en ajout de ligne à chaque validation de type formulaire.
je vais jongler dès demain et te tiendrai au courant

encore merci
cordialement
axion
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 216
12 janv. 2012 à 22:59
Tous mes voeux pour cette nouvelle année également.

toutefois, j'ai 2 lignes séparées à coller "à la suite" sur la 2nde feuille
Il faut le faire en 2 fois comme tu as fait.

eric
0
Bonsoir à tous,

Je reprends le fil tardivement pour remercier encore tous les helpers car, grâce à eux, je pense avoir réalisé quelque modeste progrès.

En reconstituant par puzzle une macro du genre ci-dessous:

Sub Bouton16_Cliquer()
If Range("H13") = 0 Then
ActiveSheet.Shapes("Bouton 16").ControlFormat.Enabled = False
Else:
Dim ws1 As Worksheet, ws2 As Worksheet
Dim l1 As Range, l2 As Range, l3 As Range
Dim lastr As Long, compteur As Long
Set ws1 = Worksheets("accueil")
Set ws2 = Worksheets("pagedit")
Set l1 = ws1.Range("B13:H13") ` à copier (a)
Set l2 = ws1.Range("B18:J18") ` à copier (b)
Set l3 = ws1.Range("I27:L27") ` à copier (c )
lastr = ws2.Range("A1500").End(xlUp).Row
compteur = ws1.Range("H27").Value `n° de validation
If MsgBox("CONFIRMER" & Chr(10) & "la VALIDATION ?", vbYesNo, "Confirmation") = vbYes Then
With ws2 ` copies de (a) (b) et (c ) sur 1 ligne en page 2
ws2.Unprotect ("etasseur")
.Cells(lastr + 1, 1).Resize(1, 7) = l1.Value ` coller (a)
.Cells(lastr + 1, 8).Resize(1, 9) = l2.Value ` coller (b)
.Cells(lastr + 1, 17).Resize(1, 4) = l3.Value ` coller (c )
ws2.Protect Password:="etasseur"
End With
With ws1
.Range("H26") = 1 ` repère pour retour en annulation
.Range("H27") = compteur + 1 ` n° validation +1
.Range("C13:G13").ClearContents ` (a)
.Range("C18:H18").ClearContents ` (b)
End With
Range("C13").Select ` retour à la case départ
End If
End If

End Sub

Je suppose qu'elle doit être simplifiée....
et si cette macro peut servir à quelqu'un, il gagnera le temps que j'y ai passé
bonne continuation à tous
cordialement
axion
0
laplanche80 Messages postés 102 Date d'inscription mardi 23 août 2011 Statut Membre Dernière intervention 29 octobre 2013 3
12 janv. 2012 à 22:01
Je ne l'est pas étudié profondément ton code, mais tu rajouter .value en instruction supplémentaire.
C'est plus embêtant mais moi j'aurais fait dans ce genre :
SelectionCelluleColler.Value = SelectionCelluleCopier.Value

En espérant que sa va t'aider
-2
Bonsoir,

Merci aussi de la réponse
et tous mes Meilleurs Voeux, également
je donnerai la même réponse demain

cordialement
axion
0
laplanche80 Messages postés 102 Date d'inscription mardi 23 août 2011 Statut Membre Dernière intervention 29 octobre 2013 3
13 janv. 2012 à 16:59
de rien, et puis tiens nous au courant.
Meilleurs voeux pareillement
0