Demande d'aide sur macro excel 2003

Résolu/Fermé
Claudine - 22 mai 2012 à 15:39
 Claudine - 23 mai 2012 à 17:07
Bonjour,

J'ai un tableau avec 2 onglets. Dans le 1er onglet DEVIS il y a tous les devis, je voudrai faire une macro pour dire quand dans la colonne H si je mets le mot GAGNE que la ligne se copie dans le 2ème onglet "FFOE GAGNE".

En premier je voulais le faire avec une fonction mais aucune avec mes connaissances ne fonctionne. En conséquence je pense qu'avec une macro cela devrait être jouable mais je ne sais pas à moins que vous avez une fonction à me sugérer. voici mon tableau en pièce jointe :

http://dl.free.fr/jeLzMH892

Merci de votre aide

A voir également:

8 réponses

Mike-31 Messages postés 18317 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
22 mai 2012 à 16:46
Salut,

Il est possible de faire avec une formule conditionnelle toute simple, mais le problème est que les lignes renseignées dans l'onglet FFOE GAGNE seront sur le même index ligne. J'explique si sur l'onglet DEVIS en H10 est saisi le mot GAGNE la ligne H10 de l'onglet FFOE GAGNE sera renseigné et les lignes au dessus et au dessous seront vide.
Avec une macro il est possible de copier les lignes dont le mot GAGNE est saisi en H les unes à la suite des autres dans l'onglet FFOE GAGNE
Mais là aussi il faut savoir si on remplace à chaque fois toutes les données dans l'onglet FFOE GAGNE ou si on ajoute les nouvelles données à la suite, dans ce cas il faudra changer l'intitulé GAGNE de l'onglet DEVIS afin d'éviter de copier les lignes plusieurs fois.
Combien de lignes prévois tu d'utiliser sur l'onglet DEVIS
0
Je rempli l'onglet DEVIS à la demande donc pour cette année je peux avoir 100 lignes ou moins.
c'est à dire un clt me contact je lui fait un devis en prenant un n° dans l'onglet DEVIS à la suite des n° déjà pris. quand le clt me retourne son devis FFOE signés pas les autres soit les FF je le passe en GAGNE et là je voudrais que ma ligne passe dans l'onglet FFOE GAGNE afin que je puisse rajouter le n° d'affaire et autres commentaires par la suite.
Je sais je suis compliqué dans ma tête.

Merci pour l'aide
0
Mike-31 Messages postés 18317 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
22 mai 2012 à 18:44
Re,

En fait lorsque tu saisis GAGNE dans l'onglet DEVIS tu veux déplacer cette ligne vers l'onglet FFOE GAGNE à la suite des autres c'est bien cela !
elle est donc supprimée de l'onglet DEVIS
0
Il faut aussi qu'elle reste dans l'onglet DEVIS.
0

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

Posez votre question
Mike-31 Messages postés 18317 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
23 mai 2012 à 13:20
Re,

Regarde si c'est ce que tu cherches, clic sur le bouton "Transfert"
de la feuille FFOE GAGNE


https://www.cjoint.com/?BExntNXS4Pi
0
Vous etes vraiement une perle, merci cela fonctionne super bien. je garde cette macro en mémoire comme cela si j'ai un autre tableau de la sorte je pourrai m'en inspirer.

Un grand Merci
0
Mike-31 Messages postés 18317 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
23 mai 2012 à 15:32
Re,

Tu peux également ajouter un enregistrement automatique après transfert

Sub Macro2()

Dim Lig As Long
Dim LigFinA As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long
Dim LigFin As Long
Col = "H"
LigFin = Range("A65536").End(xlUp).Row + 1
NumLig = 1
Sheets("FFOE GAGNE").Activate
Range([A65536].End(xlUp)(2, 1), [T2]).RowHeight = 12.75
Range([A65536].End(xlUp)(2, 1), [T2]).Clear
Col = "H"
LigFin = Range("A65536").End(xlUp).Row + 1
NumLig = 1
With Sheets("devis")
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If .Cells(Lig, Col).Value = "GAGNE" Then
.Cells(Lig, Col).EntireRow.Copy
NumLig = NumLig + 1
Cells(LigFin, 1).Select
LigFin = LigFin + 1
ActiveSheet.Paste
End If
Next
End With
Application.CutCopyMode = False
MsgBox ("ARCHIVAGE EFFECTUE")
ActiveWorkbook.Save
End Sub
0
OK, je m'en occupe et merci encore
0