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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Copier Coller des cellules sous conditions

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Copier Coller des cellules sous conditions

n°1986545
GhostInThe​Shell
Mais qui a créé VBA?
Posté le 22-04-2010 à 10:55:27  profilanswer
 

Bonjour,
 
A partir d'un tableau excel contenant des élements salariaux, je cherche à repérer les salariés ayant eu une promotion et à coller leur nom/prénom dans un autre onglet.
 
J'ai ce bout de code mais il me renvoie une belle erreur soit 1004 soit une erreur d'exécution 9.
 
Par ailleurs, je souhaite rajouter une difficulté. En fonction de sa catégorie (Ouvrier, ETAM, Cadre), je veux qu'il colle les éléments dans une autre colonne.
 
Je vous ermercie par avance pour votre aide.
 
Cordialement
 
Sub copiercoller()
 
    Dim i As Integer
    Dim y As Integer
    i = 2
    'Selection de l'onglet ou se situe la liste non triee
    Sheets("Tab saisie" ).Select
     
    'Une boucle va faire la copie tant qu'il y aura des noms dans la colonne
    While (Range(9, i) <> "" )
        If (Range(59, i) <> "" ) Then
            Range(9, i).Select
            'copie, sélection de la feuille et collage
            Selection.Copy
            Sheets("Synthèse DD" ).Select
            y = 49
            Do While (Range(1, y) <> "" )
                y = y + 1
            Loop
            'Collage là où il faut
            Range(1, y).Select
            ActiveSheet.Paste
        End If
    Wend
End Sub

mood
Publicité
Posté le 22-04-2010 à 10:55:27  profilanswer
 

n°1986855
fab035
Posté le 22-04-2010 à 22:17:05  profilanswer
 

Tu pourrais dire à quelle ligne l'erreur se produit.
ça doit être une boucle qui déborde.

n°1986945
GhostInThe​Shell
Mais qui a créé VBA?
Posté le 23-04-2010 à 11:29:03  profilanswer
 

fab035 a écrit :

Tu pourrais dire à quelle ligne l'erreur se produit.
ça doit être une boucle qui déborde.


 
Bonjour,
 
J'ai modifié mon code mais là, j'ai une autre erreur : erreur 404 - Objet requis.
C'est dur de ce remettre à VB après des années sans pratique.
 
Sub copiercoller()
    Dim source As Worksheet
    Dim dest As Worksheet
    Dim i As Integer
    Dim y As Integer
 
    Set source = Workbook.Worksheet("Synthèse" )
    Set dest = Workbook.Worksheet("Tableau" )
 
    y = 1
 
        For i = 3 To 400
         If source.Cells(i, 17).Text = "2**" Then
         source.Cells(i, i).Copy Destination = Cells(y, 1)
            y = y + 1
         End If
         Next
End Sub
 
Je vous remercie par avance
 
Cordialement

n°1987250
fab035
Posté le 24-04-2010 à 14:18:41  profilanswer
 


Ma réponse précédente était :
 
-Tu pourrais dire à quelle ligne l'erreur se produit.
 
Je n'ai pas vu ta réponse à ce sujet.
 
Ensuite, tu poses une nouvelle question sans avoir pris la peine de dire si tu as solutionné ton premier problème et si oui comment.  

n°1987421
GhostInThe​Shell
Mais qui a créé VBA?
Posté le 25-04-2010 à 19:27:46  profilanswer
 

fab035 a écrit :


Ma réponse précédente était :
 
-Tu pourrais dire à quelle ligne l'erreur se produit.
 
Je n'ai pas vu ta réponse à ce sujet.
 
Ensuite, tu poses une nouvelle question sans avoir pris la peine de dire si tu as solutionné ton premier problème et si oui comment.  


Bonjour,
 
En fait les deux font partis du même fichier et du même problème. Résoudre l'un, résoudra l'autre. Le second bout de code est inspiré d'une idée soufflée par un ami. En fait, il a l'air plus efficace et répond assez bien à la problématique. Cette dernière solution me semble une piste de réflexion bien meilleure et plus simple. Mais, il y a malgré tout une erreur que je ne comprends pas.
Dans le cadre du second bout de code, il s'agit aussi de récupérer une donnée (Nom - Prénom) dans un onglet ("Synthèse" ) en fonction d'une catégorie (ici 2**) et de copier le Nom-Prénom dans un autre onglet Excel ("Tableau" ).
Dans ce dernier bout de code, l'erreur se produit à la première ligne lors de l'exécution pas à pas - "Erreur 424 - Objet requis". Je croyais pourtant avoir définit mon objet.
Mon code doit dire que dans l'onglet "Synthèse" si des cellules de la colonne Q (N°17) contiennent la référence "2**" alors tu copies et colles le Nom-Prénom correspondant dans l'onget "Tableau" les uns à la suite des autres.
En écrivant, je m'aperçois que je crois avoir mal nommée la colonne Nom-Prénom (source.cells(i,i)). Le second i devrait désigner la colonne D (N°4).
 
Voilà toute l'explication.
 
Merci par avance,
 
Cordialement.


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

  Copier Coller des cellules sous conditions

 

Sujets relatifs
[Excel] Je ne m'en sort plus avec les formules de conditionsMacro Copier une partie d'une cellule
Liaison cellules / classeur différentVbscript - Tri et comptage de cellules
Fonction "copier/coller des champs" dans un formulaire[ Résolu ] [excel 2007] copier une image d'un worksheet à un autre
Cellules Excel / VBAJtable cellules colorier
Mysql : copier un champ vers un autre sauf s'il existe déjà 
Plus de sujets relatifs à : Copier Coller des cellules sous conditions


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