Problème de copie de cellules

cs_Boonichou Messages postés 2 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 31 juillet 2007 - 31 juil. 2007 à 11:26
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 1 août 2007 à 03:39
Bonjour!

J'ai un problème avec des macros apparemment toute simples:

Ma permière macro, par l'intermédiaire d'un bouton, copie une plage de cellule:

-----------------------------------------------------------

Sub Copier()

On Error Resume Next

Dim a As Long

Dim b As Long

Dim c As String

Dim d As Long

Dim e As Long
c InputBox("Quel est le numéro de la colonne à copier? Exemple: colonne A 1, etc...", "Copie des données", "4")

b = c

Select Case b

Case 1 To 100

a = 2

d = Cells(65536, b).End(xlUp).Row

e = 2

Do While e <> d

Select Case Cells(e, b).Value

Case ""

Cells(e, b).Select

Selection.Delete

d = Cells(65536, b).End(xlUp).Row

e = e - 1

Case Else

e = e + 1

End Select

Loop

Do While ActiveSheet.Cells(a, b).Value <> ""

a = a + 1

Loop

ActiveSheet.Range(Cells(2, b), Cells(a - 1, b)).Select

Selection.Copy

Case Else

Exit Sub

End Select

CommandBars("CNE").Controls("Coller").Enabled = True

End Sub

------------------------------------------------------------

Ensuite je veux faire une deuxieme macro pour que cette plage
copiée soit collée à un endroit précis quand j'appuie sur le bouton qui
est rendu "cliquable" à la fin de la première macro.

-----------------------------------------------------------------------

Sub Coller()

On Error Resume Next

Dim a As Long

Dim b As Long

a = Cells(65536, 2).End(xlUp).Row

Range(Cells(33, 2), Cells(a, 2)).Select

Selection.ClearContents

Range(Cells(33, 2)).Select

ActiveSheet.Paste

CommandBars("CNE").Controls("Coller").Enabled = False

End Sub

-------------------------------------------------------------------------

Mais quand j'execute la deuxieme macro, j'ai une erreur: "La
méthode Range de l'objet global a échoué " sur la ligne
"Range(Cells(33, 2)).Select"

Pourriez vous m'aider à régler ce problème?

3 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
31 juil. 2007 à 11:52
Inscrit seulement
Cells(33, 2).select ...
ou encore
Cells(33, 2).PasteSpecial

Petite note:  Tu devrais donner des noms de variables plus explicites...

MPi
0
cs_Boonichou Messages postés 2 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 31 juillet 2007
31 juil. 2007 à 12:34
J'ai déjà essayé avec PasteSpécial, ca me fait la même erreur...!
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
1 août 2007 à 03:39
Ce n'est pas le PasteSpecial mais le Range de la manière dont tu l'écris
Cells(33, 2)
et non pas
Range(Cells(33, 2))

MPi
0
Rejoignez-nous