Rechercher : dans
Par :

Excel - macro copier coller

Dernière réponse le 10 jui 2009 à 18:30:07 redrum, le 7 jui 2009 à 10:50:16 
 Signaler ce message aux modérateurs

Bonjour,

J'ai un classeur avec deux feuilles. J'ai créé un bouton pour copier une plage de cellule de la première feuille et la coller dans la deuxième feuille.

Le problème est que la macro bloque au moment de sélectionner la plage à copier pour une raison que j'ignore.
Pouvez-vous m'aider ?

Private Sub CommandButton1_Click()
Dim i, RefRow, InitialRow, row As Integer
TotoProduction = Position("PRODUCTION TOTO")
InitialRow = TotoProduction (0)
row = InitialRow + 2
While Sheets("catalogue").Cells(row, 1).Value <> ""
row = row + 1
Wend
Sheets("ratios").Select
Range("L65536").End(xlUp).Select
RefRow = ActiveCell.row + 1
Sheets("catalogue").Select
Range(Cells(InitialRow, 1), Cells(row, 5)).Select -------------> C'est là que ça bloque
Selection.Copy
Sheets("ratios").Select
Cells(RefRow + 1, 12).Select
Sheets("ratios").Paste
Sheets("ratios").Columns("L:L").EntireColumn.AutoFit
Sheets("ratios").Columns("M:M").EntireColumn.AutoFit
End Sub

Configuration: Windows XP Internet Explorer 6.0

Meilleures réponses pour « Excel macro copier coller » dans :
Ubuntu - Un copier coller rapide VoirUn copier-coller ultra-rapide Sous Ubuntu, Linux, il est très simple de faire un copier coller, encore plus simple qu'un “Ctrl + C” “Ctrl + V” : Il suffit de sélectionner le texte (juste le sélectionner) pour le mettre en mémoire puis de...
Problème de copier-coller sous Firefox VoirDe temps en temps, Firefox refuse de copier ou de coller du contenu ? Adware Pushow Il s'agit probablement d'un adware, appelé pushow**.dll (pushow35.dll, pushow42.dll, etc.) localisé dans c:\windows\system32. Si vous trouvez un tel fichier,...

1

Bidouilleu_R, le 7 jui 2009 à 11:09:07

Bonjour,

c'est normal.

le problème se situe là!

Dim i, RefRow, InitialRow, row As Integer
tu n'as pas le droit d'utiliser row comme variable car c'est un mot réservé pour la fonction row.
change les noms des variables row devient ligne ...etc.
Et reteste

A+

Répondre à Bidouilleu_R

2

redrum, le 7 jui 2009 à 14:31:46

Bonjour,

Le problème subsiste:

Private Sub CommandButton1_Click()
Dim i, RefLigne, InitialLigne, ligne As Integer
ProductionCalorifique = Position("PRODUCTION CALORIFIQUE")
InitialLigne = ProductionCalorifique(0)
ligne = InitialLigne + 2
While Sheets("catalogue").Cells(ligne, 1).Value <> ""
ligne = ligne + 1
Wend
Sheets("ratios").Select
Range("L65536").End(xlUp).Select
RefLigne = ActiveCell.row + 1
Sheets("catalogue").Select
Range(Cells(InitialLigne, 1), Cells(ligne, 5)).Select -----------> Blocage ici (erreur 1004)
Selection.Copy
Sheets("ratios").Select
Cells(RefLigne + 1, 12).Select
Sheets("ratios").Paste
Sheets("ratios").Columns("L:L").EntireColumn.AutoFit
Sheets("ratios").Columns("M:M").EntireColumn.AutoFit
End Sub

Répondre à redrum

3

Bidouilleu_R, le 7 jui 2009 à 14:48:36

J'ai forcé les variables de la ligne
Range(Cells(InitialLigne, 1), Cells(ligne, 5)).Select
mon problème à moi c'est que je n'ai pas d'erreur.

Donc regarde l'état de ta variable avant d'executer cette ligne.

dans vba tu fais déboggage/ajouter un espion
tu ajoutes ces deux variables.

puis tu test ton prog avec F8
Pour le momment je ne peux pas t'aider davantage.
tiens moi au courant

Répondre à Bidouilleu_R

4

redrum, le 7 jui 2009 à 14:58:23

Merci pour ton implication;

J'ai l'impression qu'une macro d'un bouton situé sur une feuille X ne peut pas faire d'action sur une feuille Y.

N'est-ce pas là le problème ?

Répondre à redrum

5

Bidouilleu_R, le 7 jui 2009 à 15:09:33

Non!

je comprends que tu comptes les Ligne sur la feuille "catalogue" ensuite sur la feuille "ratios" tu prend la valeur de la dernière ligne
puis veux selectionner sur la feuille "catalogue"
Sheets("catalogue").Select ' ok!
Range(Cells(InitialLigne, 1), Cells(ligne, 5)).Select ' pas de pb chez moi.
comme je n'ai pas to fichier...j'ai forcé et ça marche donc il faut que tu saches
quel est l'état de la variable ....

Répondre à Bidouilleu_R

6

redrum, le 7 jui 2009 à 15:13:20

Si je fusionne les deux feuilles en une seule, je n'ai plus de problème. Ceci semble corroborer ce que je disais mais sans que je comprenne pourquoi...

Répondre à redrum

7

Bidouilleu_R, le 7 jui 2009 à 15:21:17

Si tu as solutionné tant mieux.

Répondre à Bidouilleu_R

8

redrum, le 7 jui 2009 à 15:25:15

Ben non, c'est pas solutionné car je voudrais travailler sur deux feuilles!

Répondre à redrum

9

Bidouilleu_R, le 7 jui 2009 à 15:31:17

Peux tu mettre ton fichier sur ci-joint.com?
et poster le lien ici
en enlevant les données confidentielles et alléger !!! évidemment.

Répondre à Bidouilleu_R

10

redrum, le 7 jui 2009 à 16:18:15
Répondre à redrum

11

Bidouilleu_R, le 7 jui 2009 à 18:11:11

Je sèche car je n'ai pas d'erreur
je dois partir pendant 2jours
je contact michel_m
A+

Répondre à Bidouilleu_R

12

michel_m, le 7 jui 2009 à 19:43:06

A la demande de l'ami bidoullieu

le bouton se trouve dans la feuille "ratios"

Private Sub ProductionCalo_Click()
Dim RefLigne As Long, InitialLigne As Long, ligne As Long
Dim plage As Range
With Sheets("catalogue")
    InitialLigne = .Columns(1).Find("TOTO TEAM", .Range("A1")).Row
    ligne = .Range("A65536").End(xlUp).Row
     .Range(.Cells(InitialLigne, 1), .Cells(ligne, 5)).Copy
End With
 
RefLigne = Range("L65536").End(xlUp).Row + 2
Cells(RefLigne, 12).Select
ActiveSheet.Paste

Columns("L:L").EntireColumn.AutoFit
Columns("M:M").EntireColumn.AutoFit

End Sub


ta fonction "position" ne servait à rien et était une usine à gaz (évite de pomper des trucs sans piger)

quand aux autres macro, c'est des catas... (excuses moi d'être direct)

ce post uniquement pour rendre service à l'ami Bidouillieu Cordialement, Michel

Répondre à michel_m

13

redrum, le 10 jui 2009 à 14:01:17

Merci Michel pour ta réponse, même si elle n'est pas faite pour me rendre service ("ce post uniquement pour rendre service à l'ami Bidouillieu" (sic) )

Je passe sur le ton légèrement discourtois. Les amateurs ont aussi le droit d'être mauvais et de vouloir progresser.

Répondre à redrum

14

Bidouilleu_R, le 10 jui 2009 à 14:16:58

Bonjour redrum,

As-tu solutionné ton problème?

A+
R

Répondre à Bidouilleu_R

15

 redrum, le 10 jui 2009 à 18:30:07

Oui, je te remercie pour ton aide ainsi que celle de michel

Répondre à redrum