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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Fonction couper-coller VBA

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fonction couper-coller VBA

n°2274988
gaetbo51
Posté le 03-02-2016 à 18:46:02  profilanswer
 

Bonjour,  
J'ai besoin d'un peu d'aide car j'ai un faible niveau dans ce domaine.  
 
Afin de trier certaines valeurs d'un tableau Excel, je voudrais en fonction d'une valeur: couper une ligne entière et venir la coller à la suite sur une 2ème feuille.  
Donc j'utilise une boucle FOR pour venir tester, par ligne, la valeur d'une cellule en particulier. Puis une condition IF imbriqué ce qui me donne :  
 
Par exemple ici je veux prendre toute les lignes pour lesquels la valeur de B(i)=100 et venir la couper-coller dans la feuille 2
 
Sub nettoyer()
    For i = 1 To 2000
        If Cells(i, 2).value = 100 Then
                    Rows(i).Cut
                    Sheets("Feuil2" ).Paste
        End If
End Sub
 
Voici ce que j'arrive à sortir... et ca ne fonctionne pas.
 
Ensuite il faudrait que les lignes se copient à la suite dans la feuille deux, il faudra donc que je fasse un test pour savoir quel est la première ligne vide du tableau... mais la je colle encore plus.
 
Quelqu'un aurait la gentillesse de m'aider/m'aiguiller ou au moins de me corriger le code pour faire juste le couper-coller ? ca me ferait bien avancer :)
 
 
 
 
 

mood
Publicité
Posté le 03-02-2016 à 18:46:02  profilanswer
 

n°2274991
MaybeEijOr​Not
but someone at least
Posté le 03-02-2016 à 19:57:17  profilanswer
 

Bonjour,
 
Pour remplacer Marc L, merci d'utiliser les balises servant à insérer du code afin d'améliorer la lisibilité du message. :o  
 

Code :
  1. For ...
  2.      ...
  3. Next ???


 
couper/coller : https://msdn.microsoft.com/fr-fr/li [...] 38374.aspx
 
Et pour finir, quand une ligne est supprimée, les autres lignes descendent d'un index. Donc quand une ligne est coupée, si on parcourt les lignes avec une boucle for, la ligne suivante n'est pas parcouru, elle est sautée si je ne me trompe pas.
Pour vérifier si une ligne est libre il y a plusieurs méthodes, mais ne serait-ce pas plus simple d'insérer une ligne au début de la feuille 2 avant de couper/coller dedans? Cela éviterait de chercher une ligne libre.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°2275020
Marc L
Posté le 04-02-2016 à 10:12:24  profilanswer
 

 
           Bonjour, bonjour !
 
           La boucle est inutile, à part pour ralentir le processus ‼
 
           Juste filtrer la plage puis via la simple instruction Cut en précisant sa Destination comme documentée dans l'aide VBA …
           
           Pour trouver la dernière ligne saisie, voir ce sujet et aussi celui-là
 


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

  Fonction couper-coller VBA

 

Sujets relatifs
Arguments de fonction dans une DLLChronomètre en VBA
VBA Word prend son tempsProbleme compatibilité VBA MSFLEXGRID Excel 2013
Retourner une variable à un programme VBA appelantVBA Word pile saturée
[Résolu][GTK]Utiliser la fonction Get_textCode VBA trop lent
[C] Problème d'affichage dans le résultat de ma fonction CConversion algorithme Python -> VBA (combinaisons de p élém. parmi n)
Plus de sujets relatifs à : Fonction couper-coller VBA


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