Encore moi et mon problème très DUR (trop dur pour moi)

Encore moi

https://www.excel-pratique.com/~files/doc/Pour_aide_excel.xls

Ca sera plus simple avec un doc.

En fait je veux que vienne se mettre automatiquement dans l'onglet 'won" toute les lignes qui se trouvent dans l'onglet "portefeuille" et qui ont en colonne H le statut de "won".

Il faut que ça soit automatique et que les lignes viennent se mettre les unes à la suites des autres (je dois pas appliquer de filtre sur l'ongle "won".

J'espère cette fois avoir été assez clair.

Merci encore une fois pour votre aide.

Rodolphe

Bonjour,

Ok mais quels sont les titres de colonne que tu veux avoir en feuille "Won". Les mêmes que ceux de la feuille portefeuille ?

A te relire

Dan

Bonjour,

exactement les même...

merci beaucoup si tu peux m'aider

rodolphe

Bonjour et beinvenu sur le forum,

Je suppose que cette question est la suite de ton précédent message de cet après-midi.

Je te demanderais de bien vouloir prendre connaissance de la charte de ce forum et d'essayer, dans la mesure du possible, de t'y conformer.

Le mieux est de rester sur le même fil pour la suite d'une même question car si non tu auras des réponses sur les deux, donc difficile pour quelqu'un qui veut t'aider de savoir ce qui a été proposé sur l'autre fil.

Il est inutile de lui faire perdre son temps.

Pour ta question il est facile de la résoudre par formule au moyen d'une colonne supplémentaire sur la Feuil1.

Cette solution te conviendrait-elle ou veux-tu une macro ?

Re, Salut Dan et Amadéus,

Ton fichier en retour. A tester.

Fichier Joint

Cdlt,

PS : Ne lance pas plusieurs sujets en même temps. On y comprends rien après. Reste toujours sur le même s'il s'agit d'un même problème.

Bonjour,

Désolé, c'est vrai je suis parti dans tous les sens.

Pour répondre, je veux bien les deux solutions ; si c'est possible de me les envoyer ?

je verrai ainsi ce qui correspond le mieux à mes besoins.

Merci beaucoup

Rodolphe

Re,

Je viens de me rendre compte que Nad avait travaillé sur ton pb dans un autre fil. Je ne vais pas répéter ce qu'Amadeus vient de te dire.

Ton fichier en retour. Dès que entrera le mot Won dans la colonne H, le programme copiera la ligne de données (sauf la colonne H) dans la feuille Won.

Pour les données qui sont déjà dans ta feuille actuellement, double clique sur Won puis appuies sur la touche "Entrée" sur ton clavier pour déclencher le programme de transfert des données. En colonne H, Won sera mis en rouge pour te signaler que les données sont déjà dans la feuille WON.

https://www.excel-pratique.com/~files/doc/UixCWPour_aide_excel.xls

A te relire

Dan

Bonjour, salut Nad, Dan, Raja, Amadéus ...,

Solution fort semblable à celle de Nad sur l'autre fil (tiens, tiens, une procédure qui ne m'est pas inconnue !), mais avec d'autres formules.

https://www.excel-pratique.com/~files/doc/rpialat.xls

Merci beaucoup , c'est très gentil

Vous êtes super fort !!!

Je reviendrai vous m'avez convaincu et je vais parler de votre site

au travail ça a fait des emeus...

merci

Bonsoir,

une autre proposition.

Regarde le fichier joint, dès que tu sélectionnes l'onglet "Won", celui-ci est mis à jour

le code :

dans l'évènement de l'onglet "Won" :

Private Sub Worksheet_Activate()
[H1] = "STATUT"
[H2] = "Won"
Call extract
[H1:H2].ClearContents
End Sub

et dans un module standard :

Sub extract()
Sheets("Portefeuille").Range("A1:H" & Sheets("Portefeuille").[A65000].End(xlUp).Row).Name = "base"
Range("base").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "H1:H2"), CopyToRange:=Range("A1:G1"), Unique:=False
End Sub

Le fichier exemple :

https://www.excel-pratique.com/~files/doc/Pour_aide_excelv1.zip

Bonjour,

Merci à tous pour vos réponses !!

Une autre question:

Sub extract()

Sheets("Portefeuille").Range("A1:H" & Sheets("Portefeuille").[A65000].End(xlUp).Row).Name = "base"

Range("base").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _

"H1:H2"), CopyToRange:=Range("A1:G1"), Unique:=False

End Sub

ça marche parfaitement, mais si je veux que l'on vienne copier la ligne à partir de la colonne B jusqu'à H comment je fais ??

J'ai essayé de changer "CopyToRange:=Range("A1:G1"), Unique:=False" et mettre "B1:H1) mais ça ne marche pas.

Est ce que qulequ'un peut m'aider .

Merci

Rodolphe

re,

Je t'ai proposé un code dans un fichier qui te fait ce que tu demandes à savoir que dès que tu mets "Won" en colonne H, les données sont placées automatiquement dans la feuille "Won"

Si tu veux faire cela entre B et H, dis moi où dans quelle colonne doit se trouver B dans ta feuille Won. En colonne A ou en colonne B ?

A te relire

Dan

re,

Je t'ai proposé un code dans un fichier qui te fait ce que tu demandes à savoir que dès que tu mets "Won" en colonne H, les données sont placées automatiquement dans la feuille "Won"

Si tu veux faire cela entre B et H, dis moi où dans quelle colonne doit se trouver B dans ta feuille Won. En colonne A ou en colonne B ?

A te relire

Dan

En fait c'est parfait (dès qu'il y a won en colonne H, les données sont placées automatiquement dans la feuille "Won".

Ce que je voudrais c'est que les données viennent se placer en onglet "won" mais à partir de la colonne B jusqu'à I.

Merci .

Rodolphe

re,

remplace la macro "Transfert" par celle -ci après :

Sub Transfert()
'Macro par Dan le 16/04/08
Dim ligne As Integer
Dim feuille as string
Application.ScreenUpdating = False
feuille = ThisWorkbook.Sheets("Portefeuille").Name
With ThisWorkbook.Sheets("won")
    ligne = .Range("A65536").End(xlUp).Row + 1
            .Cells(ligne, 2) = Sheets(feuille).Range("A" & i)
            .Cells(ligne, 3) = Sheets(feuille).Range("B" & i)
            .Cells(ligne, 4) = Sheets(feuille).Range("C" & i)
            .Cells(ligne, 5) = Sheets(feuille).Range("D" & i)
            .Cells(ligne, 6) = Sheets(feuille).Range("E" & i)
            .Cells(ligne, 7) = Sheets(feuille).Range("F" & i)
            .Cells(ligne, 8) = Sheets(feuille).Range("G" & i)
End With
End Sub

Amicalement

Dan

Sub Transfert()

'Macro par Dan le 16/04/08

Dim ligne As Integer

Dim feuille As String

Application.ScreenUpdating = False

feuille = ThisWorkbook.Sheets("Portefeuille").Name

With ThisWorkbook.Sheets("won")

ligne = .Range("A65536").End(xlUp).Row + 1

.Cells(ligne, 2) = Sheets(feuille).Range("A" & i)

.Cells(ligne, 3) = Sheets(feuille).Range("B" & i)

.Cells(ligne, 4) = Sheets(feuille).Range("C" & i)

.Cells(ligne, 5) = Sheets(feuille).Range("D" & i)

.Cells(ligne, 6) = Sheets(feuille).Range("E" & i)

.Cells(ligne, 7) = Sheets(feuille).Range("F" & i)

.Cells(ligne, 8) = Sheets(feuille).Range("G" & i)

End With

End Sub

J'ai en fait un BUG qui survient à ce niveai là :

Cells(ligne, 2) = Sheets(feuille).Range("A" & i)

Si tu peux c'est super sinon t'embete pas, je voudrai pas trop vous déranger

cdlt

re,

Avant le sub Transfert tu as bien mis ces deux instructions ?

Option Explicit

Public i As Integer

Dan

Edit : n'oublie pas aussi de reprendre la macro que j'ai placée dans la feuille PORTEFEUILLE de mon premier fichier.

Rechercher des sujets similaires à "encore moi mon probleme tres dur trop"