Demande d'aide sur macro excel 2003

Résolu
Claudine -  
 Claudine -
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

8 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  2. Claudine
     
    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
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  4. Claudine
     
    Il faut aussi qu'elle reste dans l'onglet DEVIS.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  7. Claudine
     
    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
  8. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  9. Claudine
     
    OK, je m'en occupe et merci encore
    0