Stoper l'option copier dans une macro.

Résolu
Alexver Messages postés 44 Statut Membre -  
Alexver Messages postés 44 Statut Membre -
Bonjour,

Je suis sous Microsoft office 2007 et j'ai un tout petit soucis avec une macro.

La macro est la suivante:

Sub ajouter_un_produit_sans_supprimer()
Application.ScreenUpdating = False
Sheets("ajout_produit_composant").Range("D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14,D15").Copy
Set Derligne = Sheets("tableau").Range("$A$65536").End(xlUp).Offset(1, 0)
Derligne.PasteSpecial Paste:=xlAll, Operation:=xlNone, Transpose:=True
Application.ScreenUpdating = False
Sheets("ajout_produit_composant").Range("G3,G4,G5,G6,G7,G8,G9,G10,G11,G12,G13,G14,G15,G16").Copy
Set Derligne = Sheets("tableau").Range("$A$65536").End(xlUp).Offset(0, 13)
Derligne.PasteSpecial Paste:=xlAll, Operation:=xlNone, Transpose:=True
End Sub

Je l'ai trouvé sur internet et adapter à mon problème: Je voulais en effet que des cellules d'une feuille 1 soit copier pour être inseré a la fin d'un tableau d'une feuille 2.

Elle fonctionne parfaitement grâce au "Bouton" avec laquel je la fait s'actionner.

Mon seul soucis et que lorsque j'actionne la commande, mes cellules reste en mode copier, et donc si j'appuie par mégarde sur entré elle se colle n'importe ou.

Pour éviter cela il me suffit évidement d'écrire ailleur, mais étant en entreprise et ne pouvant surveiller la vie de ce fichier, j'aimerais que cela ne puisse se produire en mon absence.

Si quelqu'un pouvait m'indiquer une phrase a ajouter afin que les cases copier ne soient plus en surbrillant (mode copier) .

Je vous remercie par avance de vos lumière.

Alex
A voir également:

5 réponses

f894009 Messages postés 17414 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

pour annuler le mode copie ou couper:

Application.CutCopyMode = False
1
foo
 
Bonjour

Plein de petit probleme

ex: Range("D3:D15").Copy
-
-
-
-
A la fin
Application.CutCopyMode = False
pour trouver la derniere ligne a partir de excel 2007
Range("A" & Rows.Count).End(xlUp).Row

A+
Maurice
1
Alexver Messages postés 44 Statut Membre
 
Comme toujours, on trouve des solutions adaptés sur ce forum.

La phrase en fin marche parfaitement.

Merci F89009 et foo! :)

Maurice tu m'as donné un petit bonus avec la phrase
Range("A" & Rows.Count).End(xlUp).Row, elle sert donc a avoir la dernière ligne sur excel 2007?
0
foo
 
Bonjour

Oui Range("A" & Rows.Count).End(xlUp).Row
evite de paper le nombre de ligne Range("$A$65536

et aussi Sheets("ajout_produit_composant") il faut mettre le codeName de la Feuil

Ex: Feuil1.Range("D3:D15").Copy
comme ca tu peux changer ton non d'onglet sans probleme

A+

Maurice
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alexver Messages postés 44 Statut Membre
 
Set Derligne = Sheets("tableau").Range("$A$65536").End(xlUp).Offset(1, 0)

devient donc

Set Derligne = Sheets("tableau").Range("A" & Rows.Count).End(xlUp).Row
Offset(1, 0) ?

Je fais ici une erreur puisque ça me met erreur de débogage ^^.
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 765
 
Salut,

.Row.Offset ou .Offset(1, 0).Row???
L'Offset se place avant le Row. Donc :
Set Derligne = Sheets("tableau").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row
0
Alexver Messages postés 44 Statut Membre
 
Merci encore pijaku, au top sur la macro.
Comme tu peux le voir j'y connais quasi rien, j'ai fais ma premiére macro y'a un mois.
Mais j'essaye d'apprendre.

J'ai inseré cette instruction et sa ma fais un débogage. Ne vous embétez pas avec cela, sauf si vous trouver que ça a son importance.

Le Set Derligne = Sheets("tableau").Range("$A$65536").End(xlUp).Offset(0, 13) fonctionné correctement, le seul soucis et qu'il tests sur 65536 lignes?
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 765
 
il tests sur 65536 lignes?
Non.
End(xlUp) remonte la colonne vers le haut,
à partir de Range("A65536")
0
Alexver Messages postés 44 Statut Membre
 
D'accord tout s'explique ^^. Mon truc sur le tests c'était ma théorie alors que je n'y connais rien.

Merci en tout cas.
0