Demande d'aide sur macro excel 2003
Résolu
Claudine
-
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
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:
- Demande d'aide sur macro excel 2003
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Comment trier par ordre alphabétique sur excel - Guide
- Comment calculer la moyenne sur excel - Guide
8 réponses
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
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
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
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
Regarde si c'est ce que tu cherches, clic sur le bouton "Transfert"
de la feuille FFOE GAGNE
https://www.cjoint.com/?BExntNXS4Pi
Regarde si c'est ce que tu cherches, clic sur le bouton "Transfert"
de la feuille FFOE GAGNE
https://www.cjoint.com/?BExntNXS4Pi
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
Un grand Merci
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
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