Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1473 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Excel] couper coller

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Excel] couper coller

n°1360814
tonyC11
Posté le 06-05-2006 à 10:58:43  profilanswer
 

Bonjour,
 
J'essaie de faire la chose suivante:  
Dans une feuille Excel, à partir de la cellule 14 de la colonne A, couper le contenu de cette cellule, le coller 3 cellules plus bas, et recommencer avec un step 11 jusqu'à la millième ligne. J'ai écrit cela ainsi:
 

Code :
  1. Sub Intervertir()
  2. For i = 14 To 1000 Step 11 'pour i dont la valeur va de 14 à 1000, toutes les 11 lignes
  3.     Range("A & i" ).Select
  4.     Selection.Cut
  5.     Range("A & i + 3" ).Select
  6.     ActiveSheet.Paste
  7.     Next i 'incrémentation
  8.    
  9. End Sub


 
Ceci donne un message d'erreur 1004, objet Range non reconnu avec la méthode _global.  
J'ai également essayé une variante avec Offset, infructueuse elle aussi:
 

Code :
  1. Sub Intervertir()
  2. For i = 14 To 1000 Step 11 'pour i dont la valeur va de 14 à 1000, toutes les 11 lignes
  3.     Range("A14" ).Select
  4.     Selection.Cut Destination:=Selection.Offset(3, 0).Address
  5.     Next i 'incrémentation
  6.    
  7. End Sub


 
Voici en somme l'action qui s'enregistre lorsque j'utilise le générateur de macro, et avec laquelle il faudrait faire une boucle:
 

Code :
  1. Sub Macro2()
  2.     Range("A14" ).Select
  3.     Selection.Cut
  4.     Range("A17" ).Select
  5.     ActiveSheet.Paste
  6.     Range("A25" ).Select
  7.     Selection.Cut
  8.     Range("A28" ).Select
  9.     ActiveSheet.Paste
  10.     Range("A36" ).Select
  11.     Selection.Cut
  12.     Range("A39" ).Select
  13.     ActiveSheet.Paste
  14.     Range("A47" ).Select
  15.     Selection.Cut
  16.     Range("A50" ).Select
  17.     ActiveSheet.Paste
  18.     Range("A58" ).Select
  19.     Selection.Cut
  20.     Range("A61" ).Select
  21.     ActiveSheet.Paste
  22. Etc juqu'à 1000
  23. End Sub


Merci d'avance pour toute suggestion!!!
 

mood
Publicité
Posté le 06-05-2006 à 10:58:43  profilanswer
 

n°1360854
Bidgii
Posté le 06-05-2006 à 13:18:21  profilanswer
 

Juste en suggestion, et sans essai de vérification, si tu remplaçais :
Range("A & i + 3" )
par
Range("A" & (i+3))
et idem pour le premier Range, cela devrait marcher mieux.

n°1360929
tonyC11
Posté le 06-05-2006 à 16:27:40  profilanswer
 

Pas de changement lors du déroulement. Je crois que c'est l'objet Range qui pose problème. Il faudrait qqch comme ActiveCells(14, 1).Select

n°1360937
tonyC11
Posté le 06-05-2006 à 17:02:13  profilanswer
 

La solution trouvée en tatonnant un peu par hasard...
 
Sub Intervertir()
 
For i = 8 To 1000 Step 11
 
    Cells(i, 1).EntireRow.Select
    Selection.Cut
    Cells(i + 3, 1).EntireRow.Select
    ActiveSheet.Paste
     
         
    Next i
     
    Call Suppression
     
End Sub
 
Merci pour les suggestions!

n°1360938
Bidgii
Posté le 06-05-2006 à 17:05:19  profilanswer
 

Tant mieux ;)
 
Ceci-dit, es-tu sûr d'avoir également modifié le premier Range :
Range("A & i" ).Select => Range("A" & i).Select
 
Je viens de faire de test de mon côté, et avec ces modifs, cela semble fonctionner.
 
Bon courage pour la suite.

n°1361140
tonyC11
Posté le 07-05-2006 à 08:47:41  profilanswer
 

C'est vrai, ta version fonctionne également. J'avais effectivement omis de changer le premier Range, ce qui continuait donc à générer le message d'erreur....
Bonne journée, et merci pour le soutien!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Excel] couper coller

 

Sujets relatifs
Besoin d'aide sur un code "copier - coller"Exporter Access/Excel selon une condition d'une cellule
erreur programme vba excelmacro excel récupere donnée autres feuilles SOS urgent SVP
[VBA Excel] Input en optionaide pour macro excel
probleme vba excel TRES FACILEGraph dans excel avec des series
convertir macro excel en requete SQLconvertir un macro excel en php
Plus de sujets relatifs à : [Excel] couper coller


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR