OVH Cloud OVH Cloud

PB complexe

10 réponses
Avatar
chris
a l'enregistrement d'un classeur, il faudrait qu'une macro se lance
automatiquement et:

-quelle regarde toutes les lignes et quelle verifie que les couples A1;b1
soient differents du couple A2;B2, A3;B3, etc...

S c'est tjrs differents, elle enregistre, sinion il faut reperer les couples
doubons et indiquer si possible les lignes.

Je sais que c'est dur,
merci d'avance

10 réponses

Avatar
Dédé
re ...

Si tu m'permet ... essaie de faire une recherche et d'apprendre un peu par
toi-même ! C'est comme ça que j'ai appris !!

Sur le site de ce NG (www.excelabo.net) tu trouvera tout ce dont tu a besoin
pour t'initier au VBA ainsi qu'aux fonctions intégrées de Excel et tout le
reste ;-)

Les contributeurs de ce forum ne sont pas là pour faire le travail des
autres et bénévolement mais plutôt pour solutionner, aider, donner des
pistes et astuces pour des question biens précises.

Pour ta question, pour qu'une macro soit exécutée à chaques ouvertures de
ton classeur, il faut la faire ici :

Private Sub Workbook_Open()
' Ta macro
End Sub

Bonne continuation et bien du courage ;-)

Salutations
Dédé
PS: C'est en toute amitié que je t'écris tout ça ! Faut pas le prendre mal
mais comme un conseil d'ami ;-)


"chris" a écrit dans le message de
news:
a l'enregistrement d'un classeur, il faudrait qu'une macro se lance
automatiquement et:

-quelle regarde toutes les lignes et quelle verifie que les couples A1;b1
soient differents du couple A2;B2, A3;B3, etc...

S c'est tjrs differents, elle enregistre, sinion il faut reperer les
couples

doubons et indiquer si possible les lignes.

Je sais que c'est dur,
merci d'avance




Avatar
AV
Les données (à adapter) sont en "Feuil3"
Il y a des étiquettes de colonnes (en A1;B1.....)

Sub zzz()
With Range("Feuil3!A1").CurrentRegion
x = .Count
.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
y = .SpecialCells(xlCellTypeVisible).Count
If x <> y Then
For Each c In Range("A1:A" & [A65536].End(3).Row)
If c.EntireRow.Hidden = True Then MsgBox c.Row
Next
End If
End With
On Error Resume Next
Sheets("Feuil3").ShowAllData
End Sub

PS : cette proc est à intégrer au Workbook_BeforeSave de ThisWorkBook
AV
Avatar
chris
oui tu as raison mais j'ai le chef aux fesses...
"Dédé" a écrit dans le message news:
OQ5KX#
re ...

Si tu m'permet ... essaie de faire une recherche et d'apprendre un peu par
toi-même ! C'est comme ça que j'ai appris !!

Sur le site de ce NG (www.excelabo.net) tu trouvera tout ce dont tu a
besoin

pour t'initier au VBA ainsi qu'aux fonctions intégrées de Excel et tout le
reste ;-)

Les contributeurs de ce forum ne sont pas là pour faire le travail des
autres et bénévolement mais plutôt pour solutionner, aider, donner des
pistes et astuces pour des question biens précises.

Pour ta question, pour qu'une macro soit exécutée à chaques ouvertures de
ton classeur, il faut la faire ici :

Private Sub Workbook_Open()
' Ta macro
End Sub

Bonne continuation et bien du courage ;-)

Salutations
Dédé
PS: C'est en toute amitié que je t'écris tout ça ! Faut pas le prendre mal
mais comme un conseil d'ami ;-)


"chris" a écrit dans le message de
news:
a l'enregistrement d'un classeur, il faudrait qu'une macro se lance
automatiquement et:

-quelle regarde toutes les lignes et quelle verifie que les couples
A1;b1


soient differents du couple A2;B2, A3;B3, etc...

S c'est tjrs differents, elle enregistre, sinion il faut reperer les
couples

doubons et indiquer si possible les lignes.

Je sais que c'est dur,
merci d'avance








Avatar
chris
Ca à l'air bien mais je ne comprend pas

Voila ce qu'il me faut stp

45 12
45 11
45 12

et là il me dit attention doublon ligne 3, sinon il enregistre

Merci encore
"AV" a écrit dans le message news:
#Rj#
Les données (à adapter) sont en "Feuil3"
Il y a des étiquettes de colonnes (en A1;B1.....)

Sub zzz()
With Range("Feuil3!A1").CurrentRegion
x = .Count
.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
y = .SpecialCells(xlCellTypeVisible).Count
If x <> y Then
For Each c In Range("A1:A" & [A65536].End(3).Row)
If c.EntireRow.Hidden = True Then MsgBox c.Row
Next
End If
End With
On Error Resume Next
Sheets("Feuil3").ShowAllData
End Sub

PS : cette proc est à intégrer au Workbook_BeforeSave de ThisWorkBook
AV




Avatar
Clément Marcotte
Tu diras au chef que nous sommes des bénévoles et pas ses esclaves. Tu
peux même faire imprimer cela et le lui donner.

Clément Marcotte


"chris" a écrit dans le message de
news:
oui tu as raison mais j'ai le chef aux fesses...
"Dédé" a écrit dans le message news:
OQ5KX#
re ...

Si tu m'permet ... essaie de faire une recherche et d'apprendre un
peu par


toi-même ! C'est comme ça que j'ai appris !!

Sur le site de ce NG (www.excelabo.net) tu trouvera tout ce dont
tu a


besoin
pour t'initier au VBA ainsi qu'aux fonctions intégrées de Excel et
tout le


reste ;-)

Les contributeurs de ce forum ne sont pas là pour faire le travail
des


autres et bénévolement mais plutôt pour solutionner, aider, donner
des


pistes et astuces pour des question biens précises.

Pour ta question, pour qu'une macro soit exécutée à chaques
ouvertures de


ton classeur, il faut la faire ici :

Private Sub Workbook_Open()
' Ta macro
End Sub

Bonne continuation et bien du courage ;-)

Salutations
Dédé
PS: C'est en toute amitié que je t'écris tout ça ! Faut pas le
prendre mal


mais comme un conseil d'ami ;-)


"chris" a écrit dans le
message de


news:
a l'enregistrement d'un classeur, il faudrait qu'une macro se
lance



automatiquement et:

-quelle regarde toutes les lignes et quelle verifie que les
couples



A1;b1
soient differents du couple A2;B2, A3;B3, etc...

S c'est tjrs differents, elle enregistre, sinion il faut reperer
les



couples
doubons et indiquer si possible les lignes.

Je sais que c'est dur,
merci d'avance












Avatar
Misange
Bonsoir,
relis la réponse de Dédé...
Tout le monde à un chef à gérer un jour. S'il t'a embauché parce que tu
étais un spécialiste d'excel alors assume. S'il t'a embauché pour autre
chose alors explique lui que t'as besoin d'une formation ou de temps
pour te former ou que tu n'es pas capable de faire ce qu'il te demande.
Mais tu ne pourras pas utiliser efficacement les macros qu'on va te
donner si tu ne fais pas l'once d'un effort pour essayer de t'initier au
minimum.
Lis au minimum la page débuter/VBA pas à pas sur excelabo pour savoir où
mettre les codes proposés.
Aide toi le MPFE t'aidera sinon chacun sa croix ou son chef...

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

on 04/11/2004 16:40:
Ca à l'air bien mais je ne comprend pas

Voila ce qu'il me faut stp

45 12
45 11
45 12

et là il me dit attention doublon ligne 3, sinon il enregistre

Merci encore
"AV" a écrit dans le message news:
#Rj#

Les données (à adapter) sont en "Feuil3"
Il y a des étiquettes de colonnes (en A1;B1.....)

Sub zzz()
With Range("Feuil3!A1").CurrentRegion
x = .Count
.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
y = .SpecialCells(xlCellTypeVisible).Count
If x <> y Then
For Each c In Range("A1:A" & [A65536].End(3).Row)
If c.EntireRow.Hidden = True Then MsgBox c.Row
Next
End If
End With
On Error Resume Next
Sheets("Feuil3").ShowAllData
End Sub

PS : cette proc est à intégrer au Workbook_BeforeSave de ThisWorkBook
AV









Avatar
chris
Je connais un peu le VBA (tres peu) e mais ne comrend pas, pour m'aider
pourrais tru me traduire cette macro en francais stp

merci


"Misange" a écrit dans le message news:

Bonsoir,
relis la réponse de Dédé...
Tout le monde à un chef à gérer un jour. S'il t'a embauché parce que tu
étais un spécialiste d'excel alors assume. S'il t'a embauché pour autre
chose alors explique lui que t'as besoin d'une formation ou de temps
pour te former ou que tu n'es pas capable de faire ce qu'il te demande.
Mais tu ne pourras pas utiliser efficacement les macros qu'on va te
donner si tu ne fais pas l'once d'un effort pour essayer de t'initier au
minimum.
Lis au minimum la page débuter/VBA pas à pas sur excelabo pour savoir où
mettre les codes proposés.
Aide toi le MPFE t'aidera sinon chacun sa croix ou son chef...

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

on 04/11/2004 16:40:
Ca à l'air bien mais je ne comprend pas

Voila ce qu'il me faut stp

45 12
45 11
45 12

et là il me dit attention doublon ligne 3, sinon il enregistre

Merci encore
"AV" a écrit dans le message news:
#Rj#

Les données (à adapter) sont en "Feuil3"
Il y a des étiquettes de colonnes (en A1;B1.....)

Sub zzz()
With Range("Feuil3!A1").CurrentRegion
x = .Count
.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
y = .SpecialCells(xlCellTypeVisible).Count
If x <> y Then
For Each c In Range("A1:A" & [A65536].End(3).Row)
If c.EntireRow.Hidden = True Then MsgBox c.Row
Next
End If
End With
On Error Resume Next
Sheets("Feuil3").ShowAllData
End Sub

PS : cette proc est à intégrer au Workbook_BeforeSave de ThisWorkBook
AV











Avatar
jps
oui, chef
jps

"Clément Marcotte" a écrit dans le message
de news:%
Tu diras au chef que nous sommes des bénévoles et pas ses esclaves. Tu
peux même faire imprimer cela et le lui donner.

Clément Marcotte



Avatar
AV
Voilà comment procéder :
Alt + F11 > double clic sur ThisWorkbook > copier/coller le code suivant (nom de
feuille à adapter)

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
With Range("Feuil1!A1").CurrentRegion
x = .Count
.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
y = .SpecialCells(xlCellTypeVisible).Count
If x <> y Then
Sheets("Feuil1").Select
For Each c In Range("A1:A" & [A65536].End(3).Row)
If c.EntireRow.Hidden = True Then MsgBox "La ligne : " & c.Row _
& " est un doublon !":
Next
Sheets("Feuil1").ShowAllData
MsgBox "Fichier non enregistré !"
Cancel = True
End If
End With
On Error Resume Next
Sheets("Feuil1").ShowAllData
End Sub

PS : si tu veux un exemple, transmets une adresse valide
AV
Avatar
Dédé
Merci Misange !

De l'aide, des conseils, des trucs et astuces et liens à conseiller, c'est à
mon avis, tout ce que l'on peut faire.

Pour le reste, faut bien de la patience, de l'acharnement et quelque crises
de nerfs histoire d'en baver pas moins que tout ceux qui se casse la tête
pour répondre aux questions toute plus tordues, mal posées, trops demandé et
j'en passe ...

Sur ce, bon courage à Chris pour ses débuts en VBA et Excel car sache qu'on
a TOUS passer par là !

Bonnes salutations à tous !

Dédé


"Misange" a écrit dans le message de
news:
Bonsoir,
relis la réponse de Dédé...
Tout le monde à un chef à gérer un jour. S'il t'a embauché parce que tu
étais un spécialiste d'excel alors assume. S'il t'a embauché pour autre
chose alors explique lui que t'as besoin d'une formation ou de temps
pour te former ou que tu n'es pas capable de faire ce qu'il te demande.
Mais tu ne pourras pas utiliser efficacement les macros qu'on va te
donner si tu ne fais pas l'once d'un effort pour essayer de t'initier au
minimum.
Lis au minimum la page débuter/VBA pas à pas sur excelabo pour savoir où
mettre les codes proposés.
Aide toi le MPFE t'aidera sinon chacun sa croix ou son chef...

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

on 04/11/2004 16:40:
Ca à l'air bien mais je ne comprend pas

Voila ce qu'il me faut stp

45 12
45 11
45 12

et là il me dit attention doublon ligne 3, sinon il enregistre

Merci encore
"AV" a écrit dans le message news:
#Rj#

Les données (à adapter) sont en "Feuil3"
Il y a des étiquettes de colonnes (en A1;B1.....)

Sub zzz()
With Range("Feuil3!A1").CurrentRegion
x = .Count
.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
y = .SpecialCells(xlCellTypeVisible).Count
If x <> y Then
For Each c In Range("A1:A" & [A65536].End(3).Row)
If c.EntireRow.Hidden = True Then MsgBox c.Row
Next
End If
End With
On Error Resume Next
Sheets("Feuil3").ShowAllData
End Sub

PS : cette proc est à intégrer au Workbook_BeforeSave de ThisWorkBook
AV