Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

PB Macro3

3 réponses
Avatar
David
Cela ne fonctionne tjs pas.
En fait il reprend le 1er element trouvé mais pas le reste;
1000 libellé 1 3 665 423 ? Analytique
200 libellé 2 6 000 ? A
3000 libelle 3 915 ? NI
400 libelle 4 16 269 ? FI

espace 3 625 ? NI
900 libellé 5 462 ? NI
espace

800 libellé 6 5 687 ? FI

Comment retrouver les libellés sur l'autre feuille en fonction du critere en
D
As tu essayé la macro ?
Merci

3 réponses

Avatar
Gérald ROUSSEL
Bonsoir David,

Je veux bien t'aider mais.... je ne vois pas du tout de quoi tu parles...
:-/

2 possibilités :
1. Ton post est en rapport avec un autre post (peut-être celui intitulé "pb
macro2" de ce jour à 10h24) et dans ce cas, je ne te ferai pas l'affront de
faire un copier/coller de la réponse de Misange ;-)
2. Tu as certainement les idées assez clair mais nous ne sommes pas tous
dotés d'un don de clairvoyance à notre tour...Ton message n'est pas asez
complet pour que tu lises une réponse dans ce fil de discussion.

Allez, David, courage, cliques sur le bon bouton :-))

Gérald ROUSSEL.

"David" a écrit dans le message de news:

Cela ne fonctionne tjs pas.
En fait il reprend le 1er element trouvé mais pas le reste;
1000 libellé 1 3 665 423 ? Analytique
200 libellé 2 6 000 ? A
3000 libelle 3 915 ? NI
400 libelle 4 16 269 ? FI

espace 3 625 ? NI
900 libellé 5 462 ? NI
espace

800 libellé 6 5 687 ? FI

Comment retrouver les libellés sur l'autre feuille en fonction du critere
en D
As tu essayé la macro ?
Merci






Avatar
FFO
Salut David
La dernière macro chez moi fonctionne trés bien
Tu devrais en préambule prendre un classeur vierge mettre en feuil1 une
dizaine de ligne avec:
Colonne A les n° de compte
Colonne B les libellé
Colonne C les valeurs
Colonne D les références de famille

Crée une macro avec mon dernier code en oubliant pas d'actualiser ton ou tes
critères de recherche et regarde le résultat

Dis moi ce que tu obtiens
Rendez vous soit sur ce post (c'est préférable) sinon Post PB Macro4


Cela ne fonctionne tjs pas.
En fait il reprend le 1er element trouvé mais pas le reste;
1000 libellé 1 3 665 423 ? Analytique
200 libellé 2 6 000 ? A
3000 libelle 3 915 ? NI
400 libelle 4 16 269 ? FI

espace 3 625 ? NI
900 libellé 5 462 ? NI
espace

800 libellé 6 5 687 ? FI

Comment retrouver les libellés sur l'autre feuille en fonction du critere en
D
As tu essayé la macro ?
Merci







Avatar
FFO
J'ai retesté la macro
Elle fonctionne bien mais présente 2 particularités
Si le nombre de lignes est trés important (celà semble ton cas) elle demande
un temps d'execution trés long
Son fonctionnement pour éliminer les doublons est basé sur un marquage que
je réalise en préambule
Si tu as déjà mis une couleur dans ta colonne D il se peut que celà soit la
raison de ta difficulté

Fort de ces constatations je te propose un autre code différent sur le
principe :

Critère1 = "FI"
Critère2 = ""
Critère3 = ""
Critère4 = ""
Critère5 = ""
Sheets("Feuil1").Select
Columns("B:B").Copy
Sheets("Feuil2").Select
Range("A1").Select
ActiveSheet.Paste
Sheets("Feuil1").Select
Columns("D:D").Copy
Sheets("Feuil2").Select
Range("B1").Select
ActiveSheet.Paste
Range("B65535").End(xlUp).Select
Range("A1", ActiveCell).Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("B65535").End(xlUp).Select
Do While ActiveCell.Address <> Range("B1").Address
If ActiveCell = ActiveCell.Offset(-1, 0) Then
ActiveCell.EntireRow.Clear
End If
If ActiveCell <> Critère1 And ActiveCell <> Critère2 And ActiveCell <>
Critère3 And ActiveCell <> Critère4 And ActiveCell <> Critère5 Then
ActiveCell.EntireRow.Clear
End If
ActiveCell.Offset(-1, 0).Select
Loop
If ActiveCell <> Critère1 And ActiveCell <> Critère2 And ActiveCell <>
Critère3 And ActiveCell <> Critère4 And ActiveCell <> Critère5 Then
ActiveCell.EntireRow.Clear
End If
Range("B65535").End(xlUp).Select
Range("A1", ActiveCell).Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Columns("B:B").Clear
Range("A1").Select

Tu dois pour faire vivre en fonction de ton besoin ce code actualiser les
lignes :

Critère1 = "FI"
Critère2 = ""
Critère3 = ""
Critère4 = ""
Critère5 = ""

Ils sont au nombre de 5
Si tu utilises des chiffres uniquement tu mets :
Critère1 = 1
Si tu utilises des lettres ou lettres et chiffres tu mets
Critère1 = "FI"
Si tu ne les utilises pas tu mets
Critère1 = ""

Su tu souhaite rajouter des critères 2 opérations à réaliser :
le rajouter en début de code comme par exemple
Critère6 = ""
Modifier linstruction :
If ActiveCell <> Critère1 And ActiveCell <> Critère2 And ActiveCell <>
Critère3 And ActiveCell <> Critère4 And ActiveCell <> Critère5 Then
comme ceci :
If ActiveCell <> Critère1 And ActiveCell <> Critère2 And ActiveCell <>
Critère3 And ActiveCell <> Critère4 And ActiveCell <> Critère5 And ActiveCell
<> Critère6 Then
Que tu as à 2 endroits dans le code

J'espère enfin être arrivé à honnorer tes attentes
Dit moi !!!


Cela ne fonctionne tjs pas.
En fait il reprend le 1er element trouvé mais pas le reste;
1000 libellé 1 3 665 423 ? Analytique
200 libellé 2 6 000 ? A
3000 libelle 3 915 ? NI
400 libelle 4 16 269 ? FI

espace 3 625 ? NI
900 libellé 5 462 ? NI
espace

800 libellé 6 5 687 ? FI

Comment retrouver les libellés sur l'autre feuille en fonction du critere en
D
As tu essayé la macro ?
Merci