OVH Cloud OVH Cloud

Macro Copie de Valeur seulement

32 réponses
Avatar
Billy
Bonjour,

Dans une feuille, j'ai la macro suivante qui me permet de décaler (ou copier
devrais-je dire) ma ligne 13 une ligne vers le bas.Toutefois, j'essaie de
l'adapter pour copier uniquement les valeurs et non les formules sur cette
ligne plus bas. Étant de niveau débutante, j'éprouve de la difficulté.

Sub ausuivant()

With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants, 23).ClearContents
End With

End Sub

Merci beaucoup de votre aide!

--
Billy

2 réponses

1 2 3 4
Avatar
Billy
Salut les gars!

Vous êtes des génies! Ça fonctionne parfaitement!

C'est exactement ce dont j'avais besoin de faire!!!!

Un gros merci!
--
Billy

--
Billy


"jps" wrote:

:-)))))
jps

"garnote" a écrit dans le message de news:
%
Plutôt ceci ( je suis déjà sur les effets de la tournée générale ) :

http://cjoint.com/?iisz7Hbkyy

Serge




"garnote" a écrit dans le message de news:

Salut Billy,

Un exemple à cette adresse :

http://cjoint.com/?iissOHCIzO

Est-ce que ça fonctionne à ton goût ?

Serge


"Billy" a écrit dans le message de
news:
Bonjour,

Quand j'active la macro:

Erreur d'exécution "9". L'indice n'appartient pas à la sélection...
Quand tu
me dis "à adapter", tu veux dire probablement d'inscrire le mot de passe
que
je veux entre les guillements je présume? C'est pourtant ce que j'ai
fait.

En tout cas, si on parvient à faire fonctionner ce fichier, je vous dois
beaucoup!

--
Billy



Déverrouille exclusivement la plage D13:S13
et protège ta feuille. Tu pourras alors utiliser
cette macro :

Sub Copie()
Sheets("Feuil1").Unprotect ("Motdepasse") ' à adapter
Rows("14:14").Insert Shift:=xlDown
Rows("13:13").Copy
Rows("14:14").PasteSpecial Paste:=xlPasteFormats
Rows("14:14").PasteSpecial Paste:=xlPasteValues
[D13:S13].ClearContents
Application.CutCopyMode = False
[D13].Select
Sheets("Feuil1").Protect ("Motdepasse") ' à adapter
End Sub

Serge


"Billy" a écrit dans le message de
news:

--
Billy

Salut,
C'est cela, mais effacer les données de D13 à S13...

Et je dois trouver un moyen de protéger ma feuille (sauf de D13 à
S13) sans
que mes macros boguent.

... tout un défi!



Salut Billy,

De A13 à C13, tu as des formules,
De D13 à S13, tu entres des données,
Tu veux insérer sous la ligne 13 une ligne qui contiendrait
les valeurs et les formats de A13:C13 et effacer les données
de C13:S13.

Est-ce bien ça que tu veux obtenir ?

Serge


"Billy" a écrit dans le message de
news:
Bonjour Serge,

Comment pourrais-je adapter cette procédure pour garder les
formules en A13
à C13. Je voudrais supprimer le contenu que de D13 à S13.

Aussi mes mises en forme de bordure ne suivent pas. Ce n'est pas
très
problématique, mais j'aimerais beaucoup les conserver. Est-ce
possible tu
crois?

--
Billy



Peut-être ainsi :

Sub Copie()
Rows("14:14").Insert Shift:=xlDown
Rows("13:13").Copy
Rows("14:14").PasteSpecial Paste:=xlPasteValues
Rows("13:13").ClearContents 'Si tu veux
Application.CutCopyMode = False
End Sub

Serge



"Billy" a écrit dans le message
de news:

Bonjour,

J'ai besoin de garder la procédure " .Insert Shift:=xlDown" car
je fais mes
entrées de données toujours sur la ligne 13. Et l'idée est que
les données
descendent une ligne plus bas à chaque nouvelle entrée. C'est
pourquoi que
j'aimerais adapter cette cette macro pour que ce soit
uniquement les valeurs
et non les formules qui se copient sur la ligne plus bas.

Sub ausuivant()

With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants, 23).ClearContents
End With

End Sub

J'y arrive pas du tout. J'essaie d'ajouter à la ligne .Copy :
.Copy.Value

...mais ca fonctionne pas.

Un gros merci encore! Vous êtes tellement gentils de m'aider!


--
Billy



Et si tu veux faire disparaître le contenu de la plage
[a13:s13] :

Sub Au_Suivant()
[a14:s14] = [a13:s13].Value
[a13:s13].ClearContents
End Sub

Serge



"garnote" a écrit dans le
message de news:
Salut Billy,

Est-ce que ceci te convient ?
Sub Au_Suivant()
[a14:s14] = [a13:s13].Value
End Sub

Serge

"Billy" a écrit dans le
message de news:

Bonjour,

Dans une feuille, j'ai la macro suivante qui me permet de
décaler (ou copier
devrais-je dire) ma ligne 13 une ligne vers le
bas.Toutefois, j'essaie de
l'adapter pour copier uniquement les valeurs et non les
formules sur cette
ligne plus bas. Étant de niveau débutante, j'éprouve de la
difficulté.

Sub ausuivant()

With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants,
23).ClearContents
End With

End Sub

Merci beaucoup de votre aide!

--
Billy














































Avatar
Billy
Bonjour,

Finalement, j'ai encore une question. Dans ce même fichier, j'ai un
graphique croisé dynamique en "objet". Je protège ma feuille et je coche
l'option me permettant de modifier les objets vu que mon graph est instauré
en objet . Ainsi, je croyais pouvoir m'assurer de faire mes sélections dans
le graph, mais ca fonctionne 1 fois seulement.Dès que je lance ma macro pour
une seconde entrée de données, je ne peux plus utiliser le graph croisé à
moins de déprotéger ma feuille manuellement car il reste gelé. Bizarre car
pourtant ca marche pour la première fois que je lance la macro.

Je sais pas si je vous ai bien expliqué ma situation...

--
Billy



Plutôt ceci ( je suis déjà sur les effets de la tournée générale ) :

http://cjoint.com/?iisz7Hbkyy

Serge




"garnote" a écrit dans le message de news:
Salut Billy,

Un exemple à cette adresse :

http://cjoint.com/?iissOHCIzO

Est-ce que ça fonctionne à ton goût ?

Serge


"Billy" a écrit dans le message de news:
Bonjour,

Quand j'active la macro:

Erreur d'exécution "9". L'indice n'appartient pas à la sélection... Quand tu
me dis "à adapter", tu veux dire probablement d'inscrire le mot de passe que
je veux entre les guillements je présume? C'est pourtant ce que j'ai fait.

En tout cas, si on parvient à faire fonctionner ce fichier, je vous dois
beaucoup!

--
Billy



Déverrouille exclusivement la plage D13:S13
et protège ta feuille. Tu pourras alors utiliser
cette macro :

Sub Copie()
Sheets("Feuil1").Unprotect ("Motdepasse") ' à adapter
Rows("14:14").Insert Shift:=xlDown
Rows("13:13").Copy
Rows("14:14").PasteSpecial Paste:=xlPasteFormats
Rows("14:14").PasteSpecial Paste:=xlPasteValues
[D13:S13].ClearContents
Application.CutCopyMode = False
[D13].Select
Sheets("Feuil1").Protect ("Motdepasse") ' à adapter
End Sub

Serge


"Billy" a écrit dans le message de news:

--
Billy

Salut,
C'est cela, mais effacer les données de D13 à S13...

Et je dois trouver un moyen de protéger ma feuille (sauf de D13 à S13) sans
que mes macros boguent.

... tout un défi!



Salut Billy,

De A13 à C13, tu as des formules,
De D13 à S13, tu entres des données,
Tu veux insérer sous la ligne 13 une ligne qui contiendrait
les valeurs et les formats de A13:C13 et effacer les données
de C13:S13.

Est-ce bien ça que tu veux obtenir ?

Serge


"Billy" a écrit dans le message de news:

Bonjour Serge,

Comment pourrais-je adapter cette procédure pour garder les formules en A13
à C13. Je voudrais supprimer le contenu que de D13 à S13.

Aussi mes mises en forme de bordure ne suivent pas. Ce n'est pas très
problématique, mais j'aimerais beaucoup les conserver. Est-ce possible tu
crois?

--
Billy



Peut-être ainsi :

Sub Copie()
Rows("14:14").Insert Shift:=xlDown
Rows("13:13").Copy
Rows("14:14").PasteSpecial Paste:=xlPasteValues
Rows("13:13").ClearContents 'Si tu veux
Application.CutCopyMode = False
End Sub

Serge



"Billy" a écrit dans le message de news:

Bonjour,

J'ai besoin de garder la procédure " .Insert Shift:=xlDown" car je fais mes
entrées de données toujours sur la ligne 13. Et l'idée est que les données
descendent une ligne plus bas à chaque nouvelle entrée. C'est pourquoi que
j'aimerais adapter cette cette macro pour que ce soit uniquement les valeurs
et non les formules qui se copient sur la ligne plus bas.

Sub ausuivant()

With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants, 23).ClearContents
End With

End Sub

J'y arrive pas du tout. J'essaie d'ajouter à la ligne .Copy :
.Copy.Value

...mais ca fonctionne pas.

Un gros merci encore! Vous êtes tellement gentils de m'aider!


--
Billy



Et si tu veux faire disparaître le contenu de la plage [a13:s13] :

Sub Au_Suivant()
[a14:s14] = [a13:s13].Value
[a13:s13].ClearContents
End Sub

Serge



"garnote" a écrit dans le message de news:
Salut Billy,

Est-ce que ceci te convient ?
Sub Au_Suivant()
[a14:s14] = [a13:s13].Value
End Sub

Serge

"Billy" a écrit dans le message de news:

Bonjour,

Dans une feuille, j'ai la macro suivante qui me permet de décaler (ou copier
devrais-je dire) ma ligne 13 une ligne vers le bas.Toutefois, j'essaie de
l'adapter pour copier uniquement les valeurs et non les formules sur cette
ligne plus bas. Étant de niveau débutante, j'éprouve de la difficulté.

Sub ausuivant()

With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants, 23).ClearContents
End With

End Sub

Merci beaucoup de votre aide!

--
Billy











































1 2 3 4