Macro pour copier des cellules dans un tableau suivant condition

Fermé
Julien - 13 mars 2013 à 16:30
 Julien - 15 mars 2013 à 16:16
Bonjour,

Je me permet de vous demander de l'aide pour la création d'une macro. J'ai essayé tant bien que mal, mais je bloque.

Mon souhait est de copier une ligne dans une feuille et excel et d'aller la copier dans un tableau excel seulement si "OK" est affiché. Le problème que j'ai est de lire une colonne ligne par ligne et que la macro s'arrête lorsque il voit le mot "OK" affiché et que la macro décale d'une cellule vers la droite pour pouvoir copier.
J'espère être suffisamment clair et que vous pourrez m'apporter votre aide.

Par avance merci?


A voir également:

5 réponses

scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
14 mars 2013 à 15:07
Bonjour, pouvez vous donner votre code ici que l'on regarde pourquoi ca ne marche pas.
0
Voila ce que j'ai écrit même si je sais qu'une grande partie est mauvaise, je vous remercie par avance de votre aide.

Sub Historique()
'
' Historique Macro
'

'
Sheets("BDD").Select 'sélection de la feuille ou doit être la macro
Range("E3:BY3").Select 'sélection de la ligne à copier
Selection.Copy

Dim FL1 As Worksheet, NoCol As Integer 'lecture de la colonne D ligne par ligne,
Dim NoLig As Long, Var As Variant 'macro prise sur un site mais je ne comprends pas tout,
Set FL1 = Worksheets("BDD") 'de plus je n'arrive pas a arreter la lecture lorsque
NoCol = 4 'le programme lit le mot "OK",
For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4) 'le décalage doit se faire sur la colonne de gauche grace à un offset?
Var = FL1.Cells(NoLig, NoCol)
Next
Set FL1 = Nothing

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False 'copie de la ligne précédemment copiée
Sheets("Suivi").Select 'retour sur la feuille principale
End Sub
0
scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
15 mars 2013 à 10:15
Bon, alors je toruve que c'est un brun compliqué comme code ... avec un bon mélange de copy/paste que je trouve pas très optimisé.

Sur quel Feuille faut il cherche la ligne à copier ? (appelée feuille source)
Quelles est la colonne qu'il faut tester pour savoir s'il y a le OK ? (colonne 4 soit la colonne D )
Combien y a t il de ligne en tout dans la feuille source ?
Combien y a t il de colonne dans la feuille source ? (d'après ce que je comprend de E à BY )

Comment est construit la feuille de destination ? (un simple tableau )
Quelles sont les colonnes à reporter dans la feuille de destination ?
Comment sont copiées les lignes dans la feuille de destination, les unes a la suite des autres ou il y a un classement fait a l'insertion ?

Faut il supprimer les ligne copier de la feuille source ?

On va refaire proprement cette macro qui me semble non approprié pour l'utilité que vous en avez.
0
Sur quel Feuille faut il cherche la ligne à copier ? Il faut chercher sur la feuille nommée BDD
Quelles est la colonne qu'il faut tester pour savoir s'il y a le OK ? Il faut en effet tester la colonne D
Combien y a t il de ligne en tout dans la feuille source ? Il faut lire de la ligne 8 à la ligne 373
Combien y a t il de colonne dans la feuille source ? Oui de E à BY(d'après ce que je comprend de E à BY )


Il faut copier les lignes E3 à BY3 dans la feuille BDD
Il faut lire la colonne D à partir de la ligne 8 jusqu'à la ligne 373 sur la feuille BDD
Il faut coller la ligne copier dans la ligne ou est le OK et le tableau va de E8 à BY373 (un décalage offset ne serait pas possible lorsque le programme voit le mot OK dans la colonne D?)


Par avance merci pour votre patience et votre aide précieuse.
0
Non il ne faut pas supprimer les cellules copiées.
Il faut faire un collage de la valeur uniquement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
15 mars 2013 à 10:43
La feuille source est la même feuille que celle de destination?
0
Oui je copie la ligne sur la feuille BDD et je la recopie sur un tableau qui se situe plus bas dans la même page. (J'ai fait une impression écran de la feuille en question mais je ne sais pas comment la publier...)

Par avance merci
0
scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
15 mars 2013 à 16:00
Quelle est la ligne sur laquelle il faut copier ? (quand commence le second tableau ? )
0
Il faut copier la ligne E3 à BY3, et le second tableau commence à partir de la ligne 8 (de E8 à BY373), j'espère que ces informations vous aideront ou vous permettront de m'aiguiller pour réaliser ce code.

Par avance merci.
0