OVH Cloud OVH Cloud

Re modif de macro

7 réponses
Avatar
David T.
Re bonsoir

Toujours sur le site de Frédéric SIGONNEAU j'aimerais modifier cette macro

>>>>Tris, filtres, tableaux
TableauValeursUniquesColonne.bas

En début de proc il y a
NameOfSheet = "Feuil1"

Comment faire pour indiquer que NameOfSheet = cellule P2 de la feuille
active

Encore merci de votre aide
Salutations
--
direction-ternoise@(supprimerceci)wanadoo.fr

7 réponses

Avatar
Philippe.R
Bonsoir,
Un truc du genre :

with activesheet
NameOfSheet=[p2]
end with

devrait pouvoir convenir
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"David T." <direction-ternoise@(enlever)wanadoo.fr> a écrit dans le message de
news:u4VMOpJ$
Re bonsoir

Toujours sur le site de Frédéric SIGONNEAU j'aimerais modifier cette macro

Tris, filtres, tableaux
TableauValeursUniquesColonne.bas





En début de proc il y a
NameOfSheet = "Feuil1"

Comment faire pour indiquer que NameOfSheet = cellule P2 de la feuille
active

Encore merci de votre aide
Salutations
--
direction-ternoise@(supprimerceci)wanadoo.fr








Avatar
David T.
Bonsoir et merci Philippe

Cela fonctionne nickel.

Toujours avec la meme macro (j'en profite)

Comment peut-on modifier afin de lister tout sauf un nom Ex : "zaza" voir
deux.
Avec ceci ca serait le TOP.

Encore merci pour ton aide

With ActiveSheet
NameOfSheet = [p2]
End With

SearchColumn = "C"
FirstDataRow = 4 ' s'il y a une ligne d'entête

On Error Resume Next

With Worksheets(NameOfSheet)
UniqueColumn = .Columns(SearchColumn).Column
LastRow = .Cells(65536, UniqueColumn).End(xlUp).Row
Set SearchRange = .Range(.Cells(FirstDataRow, UniqueColumn), _
.Cells(LastRow, UniqueColumn))
SearchData = SearchRange.Value
For Counter = FirstDataRow To LastRow
CollObject.Add Item:=SearchData(Counter - FirstDataRow + 1, 1), _
key:=CStr(SearchData(Counter - FirstDataRow + 1, 1))
Next Counter
End With

ReDim UniqueData(1 To CollObject.Count, 1 To 1)

For Counter = 1 To CollObject.Count
UniqueData(Counter, 1) = CollObject(Counter)
Next Counter
Avatar
Philippe.R
Re David,
Perplexe je suis et ne vois pas ce que tu veux faire ; peut être un certain état de fatigue de mon
neurone ?
Disons que je passe mon tour sur ce coup là. ;o)))
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"David T." <direction-ternoise@(enlever)wanadoo.fr> a écrit dans le message de
news:O1idcwK$
Bonsoir et merci Philippe

Cela fonctionne nickel.

Toujours avec la meme macro (j'en profite)

Comment peut-on modifier afin de lister tout sauf un nom Ex : "zaza" voir
deux.
Avec ceci ca serait le TOP.

Encore merci pour ton aide

With ActiveSheet
NameOfSheet = [p2]
End With

SearchColumn = "C"
FirstDataRow = 4 ' s'il y a une ligne d'entête

On Error Resume Next

With Worksheets(NameOfSheet)
UniqueColumn = .Columns(SearchColumn).Column
LastRow = .Cells(65536, UniqueColumn).End(xlUp).Row
Set SearchRange = .Range(.Cells(FirstDataRow, UniqueColumn), _
.Cells(LastRow, UniqueColumn))
SearchData = SearchRange.Value
For Counter = FirstDataRow To LastRow
CollObject.Add Item:=SearchData(Counter - FirstDataRow + 1, 1), _
key:=CStr(SearchData(Counter - FirstDataRow + 1, 1))
Next Counter
End With

ReDim UniqueData(1 To CollObject.Count, 1 To 1)

For Counter = 1 To CollObject.Count
UniqueData(Counter, 1) = CollObject(Counter)
Next Counter




Avatar
David T.
Je vais essayer de mieux expliquer

Grace à cette macro, je récupère dans la feuille active TOUT les noms (sans
doublon) qui se trouve dans dans la colonne C de la feuille ( [P2] ).

or j'aimerais tous les récupérer sauf les mots qui se noment "zaza" et
"zozo"

Peut être plus clair :-)))

Salutations


"Philippe.R" a écrit dans le message de
news:eqVkCPL$
Re David,
Perplexe je suis et ne vois pas ce que tu veux faire ; peut être un
certain état de fatigue de mon

neurone ?
Disons que je passe mon tour sur ce coup là. ;o)))
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"David T." <direction-ternoise@(enlever)wanadoo.fr> a écrit dans le
message de

news:O1idcwK$
Bonsoir et merci Philippe

Cela fonctionne nickel.

Toujours avec la meme macro (j'en profite)

Comment peut-on modifier afin de lister tout sauf un nom Ex : "zaza"
voir


deux.
Avec ceci ca serait le TOP.

Encore merci pour ton aide

With ActiveSheet
NameOfSheet = [p2]
End With

SearchColumn = "C"
FirstDataRow = 4 ' s'il y a une ligne d'entête

On Error Resume Next

With Worksheets(NameOfSheet)
UniqueColumn = .Columns(SearchColumn).Column
LastRow = .Cells(65536, UniqueColumn).End(xlUp).Row
Set SearchRange = .Range(.Cells(FirstDataRow, UniqueColumn), _
.Cells(LastRow, UniqueColumn))
SearchData = SearchRange.Value
For Counter = FirstDataRow To LastRow
CollObject.Add Item:=SearchData(Counter - FirstDataRow + 1, 1), _
key:=CStr(SearchData(Counter - FirstDataRow + 1, 1))
Next Counter
End With

ReDim UniqueData(1 To CollObject.Count, 1 To 1)

For Counter = 1 To CollObject.Count
UniqueData(Counter, 1) = CollObject(Counter)
Next Counter








Avatar
David T.
Je vais essayer de mieux expliquer

Grace à cette macro, je récupère dans la feuille active TOUT les noms (sans
doublon) qui se trouve dans dans la colonne C de la feuille ( [P2] ).

or j'aimerais tous les récupérer sauf les mots qui se noment "zaza" et
"zozo"

Peut être plus clair :-)))

Salutations
Avatar
Frédéric Sigonneau
Bonjour,

Essaye avec ces modifications du code (non testé) :

'==================== NameOfSheet = Range("P2").Value
SearchColumn = "C"
FirstDataRow = 4 ' s'il y a une ligne d'entête

On Error Resume Next

With Worksheets(NameOfSheet)
UniqueColumn = .Columns(SearchColumn).Column
LastRow = .Cells(65536, UniqueColumn).End(xlUp).Row
Set SearchRange = .Range(.Cells(FirstDataRow, UniqueColumn), _
.Cells(LastRow, UniqueColumn))
SearchData = SearchRange.Value
For Counter = FirstDataRow To LastRow
tmp = SearchData(Counter - FirstDataRow + 1, 1)
If tmp <> "zaza" And tmp <> "zozo" Then
CollObject.Add Item:=tmp, key:=CStr(tmp)
End If
Next Counter
End With

ReDim UniqueData(1 To CollObject.Count, 1 To 1)

For Counter = 1 To CollObject.Count
UniqueData(Counter, 1) = CollObject(Counter)
Next Counter
'====================
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !

David T. a écrit:
Je vais essayer de mieux expliquer

Grace à cette macro, je récupère dans la feuille active TOUT les noms (sans
doublon) qui se trouve dans dans la colonne C de la feuille ( [P2] ).

or j'aimerais tous les récupérer sauf les mots qui se noment "zaza" et
"zozo"

Peut être plus clair :-)))

Salutations


"Philippe.R" a écrit dans le message de
news:eqVkCPL$

Re David,
Perplexe je suis et ne vois pas ce que tu veux faire ; peut être un


certain état de fatigue de mon

neurone ?
Disons que je passe mon tour sur ce coup là. ;o)))
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"David T." <direction-ternoise@(enlever)wanadoo.fr> a écrit dans le


message de

news:O1idcwK$

Bonsoir et merci Philippe

Cela fonctionne nickel.

Toujours avec la meme macro (j'en profite)

Comment peut-on modifier afin de lister tout sauf un nom Ex : "zaza"


voir


deux.
Avec ceci ca serait le TOP.

Encore merci pour ton aide

With ActiveSheet
NameOfSheet = [p2]
End With

SearchColumn = "C"
FirstDataRow = 4 ' s'il y a une ligne d'entête

On Error Resume Next

With Worksheets(NameOfSheet)
UniqueColumn = .Columns(SearchColumn).Column
LastRow = .Cells(65536, UniqueColumn).End(xlUp).Row
Set SearchRange = .Range(.Cells(FirstDataRow, UniqueColumn), _
.Cells(LastRow, UniqueColumn))
SearchData = SearchRange.Value
For Counter = FirstDataRow To LastRow
CollObject.Add Item:=SearchData(Counter - FirstDataRow + 1, 1), _
key:=CStr(SearchData(Counter - FirstDataRow + 1, 1))
Next Counter
End With

ReDim UniqueData(1 To CollObject.Count, 1 To 1)

For Counter = 1 To CollObject.Count
UniqueData(Counter, 1) = CollObject(Counter)
Next Counter












Avatar
David T.
Bonjour et merci de ta réponse

J'ai eu l'info aujourd'hui dans un autre fil

Cela fonctionne

Salutations