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

simplifier et rendre active une Macro

3 réponses
Avatar
j
Bonjour,

J'utilise cette macro fournit ici meme et un peu modifier
(copie en feuil2 les lignes qui sont unique en feuil1 selon le critere en B)

Je souhaiterai avoir la formule "NB.SI(Feuil1!B2:B10000;B2)=1" qui est en
feuil3!A2
à l'intérieur de la macro et choisir la colonne par un inputbox la colonne
(A,B,C,...) qui est figé actuellement a B
dans le cas ennoncé.

Merci de votre aide

-----------------------------------------------------------------------------------------------------------
Sub Unique()

' Nettoyage feuille2
Sheets("Feuil2").Select
Range("A1:Z10000").Select
Selection.ClearContents

Plage1 = "feuil3!A1:A2" 'recupere la formule
NB.SI(Feuil1!B2:B10000;B2)=1


Sheets("Feuil1").Select

Range("A1:Z10000").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range( _
Plage1), CopyToRange:=Range("feuil2!A1"), Unique:=False
End Sub
-----------------------------------------------------------------------------------------------------------

3 réponses

Avatar
LSteph
Bonjour,

pour la simplification déjà cela devrait faire à peu près ceci

Sub Unique()
WorkSheets("Feuil2").[A1:Z10000].ClearContents
Sheets("Feuil1").Activate
Range("A1:Z10000").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("feuil3!A1:A2"), _
CopyToRange:=Range("feuil2!A1"), Unique:úlse
End Sub


Pour le reste %-?
c'est pas clair du tout pour moi:

Plage1 = "feuil3!A1:A2" 'recupere la formule
NB.SI(Feuil1!B2:B10000;B2)=1
à l'intérieur de la macro et choisir la colonne par un inputbox la colonne
(A,B,C,...) qui est figé actuellement





;-)
tu veux faire quoi et où à partir de quoi

donc suivant l'objectif que tu pourras préciser et en plus d'une
explication un peu plus circonstanciée mettre éventuellement ton
classeur sur cjoint pour essayer d'y voir clair!

@+

--
lSteph


a écrit :
Bonjour,

J'utilise cette macro fournit ici meme et un peu modifier
(copie en feuil2 les lignes qui sont unique en feuil1 selon le critere en B)

Je souhaiterai avoir la formule "NB.SI(Feuil1!B2:B10000;B2)=1" qui est en
feuil3!A2
à l'intérieur de la macro et choisir la colonne par un inputbox la colonne
(A,B,C,...) qui est figé actuellement a B
dans le cas ennoncé.

Merci de votre aide

-----------------------------------------------------------------------------------------------------------
Sub Unique()

' Nettoyage feuille2
Sheets("Feuil2").Select
Range("A1:Z10000").Select
Selection.ClearContents

Plage1 = "feuil3!A1:A2" 'recupere la formule
NB.SI(Feuil1!B2:B10000;B2)=1


Sheets("Feuil1").Select

Range("A1:Z10000").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range( _
Plage1), CopyToRange:=Range("feuil2!A1"), Unique:úlse
End Sub
-----------------------------------------------------------------------------------------------------------




Avatar
LSteph
...pour la simplification j'ai juste viré les select inutiles
sinon mettre des plages nommées dans le filtre pour réfèrer aux autres
feuilles plutôt que ce que j'ai bêtement recopié.t

LSteph a écrit :
Bonjour,

pour la simplification déjà cela devrait faire à peu près ceci

Sub Unique()
WorkSheets("Feuil2").[A1:Z10000].ClearContents
Sheets("Feuil1").Activate
Range("A1:Z10000").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("feuil3!A1:A2"), _
CopyToRange:=Range("feuil2!A1"), Unique:úlse
End Sub


Pour le reste %-?
c'est pas clair du tout pour moi:

Plage1 = "feuil3!A1:A2" 'recupere la formule
NB.SI(Feuil1!B2:B10000;B2)=1
à l'intérieur de la macro et choisir la colonne par un inputbox la
colonne (A,B,C,...) qui est figé actuellement





;-)
tu veux faire quoi et où à partir de quoi

donc suivant l'objectif que tu pourras préciser et en plus d'une
explication un peu plus circonstanciée mettre éventuellement ton
classeur sur cjoint pour essayer d'y voir clair!

@+

--
lSteph


a écrit :
Bonjour,

J'utilise cette macro fournit ici meme et un peu modifier
(copie en feuil2 les lignes qui sont unique en feuil1 selon le critere
en B)

Je souhaiterai avoir la formule "NB.SI(Feuil1!B2:B10000;B2)=1" qui est
en feuil3!A2
à l'intérieur de la macro et choisir la colonne par un inputbox la
colonne (A,B,C,...) qui est figé actuellement a B
dans le cas ennoncé.

Merci de votre aide

-----------------------------------------------------------------------------------------------------------

Sub Unique()

' Nettoyage feuille2
Sheets("Feuil2").Select
Range("A1:Z10000").Select
Selection.ClearContents

Plage1 = "feuil3!A1:A2" 'recupere la formule
NB.SI(Feuil1!B2:B10000;B2)=1


Sheets("Feuil1").Select

Range("A1:Z10000").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range( _
Plage1), CopyToRange:=Range("feuil2!A1"), Unique:úlse
End Sub
-----------------------------------------------------------------------------------------------------------






Avatar
FFO
Salut à toi
Je ne sait pas si j'ai bien compris ton attente
Mais si tu souhaites utiliser la formule :
"NB.SI(Feuil1!B2:B10000;B2)=1"
en choisissant par une boîte de dialogue la colonne à la place de la colonne
B tu peux utiliser ce bout de code :

Colonne = InputBox("Saisissez la colonne", "Colonne")
Formule = "=NB.SI(Feuil1!" & Colonne & "2:" & Colonne & "10000;" & Colonne &
"2)=1"

La variable Formule porte ta formule avec la colonne choisie et peut être
utilisée dans la suite de ton code

Espérant que celà te convienne
Dis Moi !!!!