Copier Coller des cellules sous conditions - VB/VBA/VBS - Programmation
Marsh Posté le 22-04-2010 à 22:17:05
Tu pourrais dire à quelle ligne l'erreur se produit.
ça doit être une boucle qui déborde.
Marsh Posté le 23-04-2010 à 11:29:03
fab035 a écrit : Tu pourrais dire à quelle ligne l'erreur se produit. |
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
Marsh Posté le 24-04-2010 à 14:18:41
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.
Marsh Posté le 25-04-2010 à 19:27:46
fab035 a écrit : |
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.
Marsh Posté le 22-04-2010 à 10:55:27
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