11/01/2004 G4455 11B
11/01/2004 G4455 12D
11/01/2004 G4455 11B
ETC... ETC... ETC...
Comment lui dire dans une Private Sub Workbook_BeforeSave qu"il vérifie que
lorque le n°coulée est identique, qu'il me dise si il trouve un n° lopin
identique (genre "Attention doublons ligne X).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Aurélien29
Salut
Je te propose une solution un peu complexe et j'espère que ta liste est pas trop longue.
i = 1 While Cells(i, 1) <> "" i = i + 1 Wend For a = 1 To i For b = a + 1 To i If (Cells(a, 2) = Cells(b, 2)) And (Cells(a, 3) = Cells(b, 3)) Then MsgBox ("doublon ligne " & a & " et ligne " & b) End If Next b Next a
Désolé et de rien
Bonjour, Voici le pb:
DATE N° COULEE N°LOPINS
11/01/2004 G4455 11B 11/01/2004 G4455 12D 11/01/2004 G4455 11B ETC... ETC... ETC... Comment lui dire dans une Private Sub Workbook_BeforeSave qu"il vérifie que lorque le n°coulée est identique, qu'il me dise si il trouve un n° lopin identique (genre "Attention doublons ligne X).
Par avance merci
Salut
Je te propose une solution un peu complexe et j'espère que ta liste est pas
trop longue.
i = 1
While Cells(i, 1) <> ""
i = i + 1
Wend
For a = 1 To i
For b = a + 1 To i
If (Cells(a, 2) = Cells(b, 2)) And (Cells(a, 3) = Cells(b, 3)) Then
MsgBox ("doublon ligne " & a & " et ligne " & b)
End If
Next b
Next a
Désolé et de rien
Bonjour,
Voici le pb:
DATE N° COULEE N°LOPINS
11/01/2004 G4455 11B
11/01/2004 G4455 12D
11/01/2004 G4455 11B
ETC... ETC... ETC...
Comment lui dire dans une Private Sub Workbook_BeforeSave qu"il vérifie que
lorque le n°coulée est identique, qu'il me dise si il trouve un n° lopin
identique (genre "Attention doublons ligne X).
Je te propose une solution un peu complexe et j'espère que ta liste est pas trop longue.
i = 1 While Cells(i, 1) <> "" i = i + 1 Wend For a = 1 To i For b = a + 1 To i If (Cells(a, 2) = Cells(b, 2)) And (Cells(a, 3) = Cells(b, 3)) Then MsgBox ("doublon ligne " & a & " et ligne " & b) End If Next b Next a
Désolé et de rien
Bonjour, Voici le pb:
DATE N° COULEE N°LOPINS
11/01/2004 G4455 11B 11/01/2004 G4455 12D 11/01/2004 G4455 11B ETC... ETC... ETC... Comment lui dire dans une Private Sub Workbook_BeforeSave qu"il vérifie que lorque le n°coulée est identique, qu'il me dise si il trouve un n° lopin identique (genre "Attention doublons ligne X).
Par avance merci
chris
Pardon mais ca ne marche pas. Il me selectionne le a dans For a = 1 To i
-- Cordialement,
Christophe REINA Coordonnateur Pôle Tertaire - FOIX tél:05 61 02 12 22 "Aurélien29" a écrit dans le message de news:
Salut
Je te propose une solution un peu complexe et j'espère que ta liste est pas
trop longue.
i = 1 While Cells(i, 1) <> "" i = i + 1 Wend For a = 1 To i For b = a + 1 To i If (Cells(a, 2) = Cells(b, 2)) And (Cells(a, 3) = Cells(b, 3)) Then
MsgBox ("doublon ligne " & a & " et ligne " & b) End If Next b Next a
Désolé et de rien
Bonjour, Voici le pb:
DATE N° COULEE N°LOPINS
11/01/2004 G4455 11B 11/01/2004 G4455 12D 11/01/2004 G4455 11B ETC... ETC... ETC... Comment lui dire dans une Private Sub Workbook_BeforeSave qu"il vérifie que
lorque le n°coulée est identique, qu'il me dise si il trouve un n° lopin identique (genre "Attention doublons ligne X).
Par avance merci
Pardon mais ca ne marche pas. Il me selectionne le a dans
For a = 1 To i
--
Cordialement,
Christophe REINA
Coordonnateur Pôle Tertaire - FOIX
tél:05 61 02 12 22
"Aurélien29" <Aurlien29@discussions.microsoft.com> a écrit dans le message
de news:0DC19B93-F037-4D46-8810-6A85669C9010@microsoft.com...
Salut
Je te propose une solution un peu complexe et j'espère que ta liste est
pas
trop longue.
i = 1
While Cells(i, 1) <> ""
i = i + 1
Wend
For a = 1 To i
For b = a + 1 To i
If (Cells(a, 2) = Cells(b, 2)) And (Cells(a, 3) = Cells(b, 3))
Then
MsgBox ("doublon ligne " & a & " et ligne " & b)
End If
Next b
Next a
Désolé et de rien
Bonjour,
Voici le pb:
DATE N° COULEE N°LOPINS
11/01/2004 G4455 11B
11/01/2004 G4455 12D
11/01/2004 G4455 11B
ETC... ETC... ETC...
Comment lui dire dans une Private Sub Workbook_BeforeSave qu"il vérifie
que
lorque le n°coulée est identique, qu'il me dise si il trouve un n° lopin
identique (genre "Attention doublons ligne X).
Pardon mais ca ne marche pas. Il me selectionne le a dans For a = 1 To i
-- Cordialement,
Christophe REINA Coordonnateur Pôle Tertaire - FOIX tél:05 61 02 12 22 "Aurélien29" a écrit dans le message de news:
Salut
Je te propose une solution un peu complexe et j'espère que ta liste est pas
trop longue.
i = 1 While Cells(i, 1) <> "" i = i + 1 Wend For a = 1 To i For b = a + 1 To i If (Cells(a, 2) = Cells(b, 2)) And (Cells(a, 3) = Cells(b, 3)) Then
MsgBox ("doublon ligne " & a & " et ligne " & b) End If Next b Next a
Désolé et de rien
Bonjour, Voici le pb:
DATE N° COULEE N°LOPINS
11/01/2004 G4455 11B 11/01/2004 G4455 12D 11/01/2004 G4455 11B ETC... ETC... ETC... Comment lui dire dans une Private Sub Workbook_BeforeSave qu"il vérifie que
lorque le n°coulée est identique, qu'il me dise si il trouve un n° lopin identique (genre "Attention doublons ligne X).
Par avance merci
AV
Tu pourrais utiliser une Mise En Forme Conditionnelle (MEFC) Exemple avec - les valeurs en A2:Cx - les étiquettes de colonnes en A1:C1 - les plages nommées "Dates";"NumCoulées";"NumsLopins"
Sélection A2:Cx >> MEFC >> la formule est >> =EQUIV($A2&$B2&$C2;Dates&NumCoulées&NumsLopins;0)<>LIGNE($A2)-1
format >> .etc. Si la plage est susceptible de contenir des cellules vides, pour pas qu'elles
soient considérées comme des doublons, modifier la formule comme suit : =($A2&$B2&$C2<>"")*(EQUIV($A2&$B2&$C2;Dates&NumCoulées&NumsLopins;0)<>LIGNE($A2) -1)
AV
Tu pourrais utiliser une Mise En Forme Conditionnelle (MEFC)
Exemple avec
- les valeurs en A2:Cx
- les étiquettes de colonnes en A1:C1
- les plages nommées "Dates";"NumCoulées";"NumsLopins"
Sélection A2:Cx >> MEFC >> la formule est >>
=EQUIV($A2&$B2&$C2;Dates&NumCoulées&NumsLopins;0)<>LIGNE($A2)-1
format >> .etc.
Si la plage est susceptible de contenir des cellules vides, pour pas qu'elles
soient considérées comme des doublons, modifier la formule comme suit :
=($A2&$B2&$C2<>"")*(EQUIV($A2&$B2&$C2;Dates&NumCoulées&NumsLopins;0)<>LIGNE($A2)
-1)
Tu pourrais utiliser une Mise En Forme Conditionnelle (MEFC) Exemple avec - les valeurs en A2:Cx - les étiquettes de colonnes en A1:C1 - les plages nommées "Dates";"NumCoulées";"NumsLopins"
Sélection A2:Cx >> MEFC >> la formule est >> =EQUIV($A2&$B2&$C2;Dates&NumCoulées&NumsLopins;0)<>LIGNE($A2)-1
format >> .etc. Si la plage est susceptible de contenir des cellules vides, pour pas qu'elles
soient considérées comme des doublons, modifier la formule comme suit : =($A2&$B2&$C2<>"")*(EQUIV($A2&$B2&$C2;Dates&NumCoulées&NumsLopins;0)<>LIGNE($A2) -1)
AV
Daniel.M
Bonjour,
Appelle la fonction suivante dans ton code. En plus d'invoquer le msgbox s'il y a lieu, la fonction retourne VRAI ou FAUX selon qu'elle rencontre ou non des doublons.
J'ai supposé que tes données sont en colonne A, B, C
' Retourne VRAI : S'il y a doublons ' FAUX : s'il n'y en a pas Function VerifieDoublonsSur2Criteres() As Boolean
Dim premLigne As Long, dernLigne As Long Dim i As Long, j As Long, res As Variant Dim formule As String
VerifieDoublonsSur2Criteres = False dernLigne = Cells(65536, "A").End(xlUp).Row ' à adapter premLigne = 2 ' à adapter
For i = premLigne To dernLigne - 1 formule = "=MATCH(1,(B" & i + 1 & ":B" & dernLigne & _ "=B" & i & ")*(C" & i + 1 & ":C" & dernLigne & "=C" & i & "),0)"
res = Evaluate(formule)
If Not IsError(res) Then MsgBox "Doublons entre les lignes " & i & " et " & _ i + res & ".", vbInformation + vbOKOnly, "Attention!" VerifieDoublonsSur2Criteres = True Exit For ' dès qu'on trouve un doublon, on sort de la boucle! End If Next i
End Function
Salutations,
Daniel M.
"chris" wrote in message news:u0048$
Bonjour, Voici le pb:
DATE N° COULEE N°LOPINS
11/01/2004 G4455 11B 11/01/2004 G4455 12D 11/01/2004 G4455 11B ETC... ETC... ETC... Comment lui dire dans une Private Sub Workbook_BeforeSave qu"il vérifie que lorque le n°coulée est identique, qu'il me dise si il trouve un n° lopin identique (genre "Attention doublons ligne X).
Par avance merci
Bonjour,
Appelle la fonction suivante dans ton code. En plus d'invoquer le msgbox s'il y
a lieu, la fonction retourne VRAI ou FAUX selon qu'elle rencontre ou non des
doublons.
J'ai supposé que tes données sont en colonne A, B, C
' Retourne VRAI : S'il y a doublons
' FAUX : s'il n'y en a pas
Function VerifieDoublonsSur2Criteres() As Boolean
Dim premLigne As Long, dernLigne As Long
Dim i As Long, j As Long, res As Variant
Dim formule As String
VerifieDoublonsSur2Criteres = False
dernLigne = Cells(65536, "A").End(xlUp).Row ' à adapter
premLigne = 2 ' à adapter
For i = premLigne To dernLigne - 1
formule = "=MATCH(1,(B" & i + 1 & ":B" & dernLigne & _
"=B" & i & ")*(C" & i + 1 & ":C" & dernLigne & "=C" & i & "),0)"
res = Evaluate(formule)
If Not IsError(res) Then
MsgBox "Doublons entre les lignes " & i & " et " & _
i + res & ".", vbInformation + vbOKOnly, "Attention!"
VerifieDoublonsSur2Criteres = True
Exit For ' dès qu'on trouve un doublon, on sort de la boucle!
End If
Next i
End Function
Salutations,
Daniel M.
"chris" <christophe.reina@ac-toulouse.fr> wrote in message
news:u0048$C5EHA.3828@TK2MSFTNGP09.phx.gbl...
Bonjour,
Voici le pb:
DATE N° COULEE N°LOPINS
11/01/2004 G4455 11B
11/01/2004 G4455 12D
11/01/2004 G4455 11B
ETC... ETC... ETC...
Comment lui dire dans une Private Sub Workbook_BeforeSave qu"il vérifie que
lorque le n°coulée est identique, qu'il me dise si il trouve un n° lopin
identique (genre "Attention doublons ligne X).
Appelle la fonction suivante dans ton code. En plus d'invoquer le msgbox s'il y a lieu, la fonction retourne VRAI ou FAUX selon qu'elle rencontre ou non des doublons.
J'ai supposé que tes données sont en colonne A, B, C
' Retourne VRAI : S'il y a doublons ' FAUX : s'il n'y en a pas Function VerifieDoublonsSur2Criteres() As Boolean
Dim premLigne As Long, dernLigne As Long Dim i As Long, j As Long, res As Variant Dim formule As String
VerifieDoublonsSur2Criteres = False dernLigne = Cells(65536, "A").End(xlUp).Row ' à adapter premLigne = 2 ' à adapter
For i = premLigne To dernLigne - 1 formule = "=MATCH(1,(B" & i + 1 & ":B" & dernLigne & _ "=B" & i & ")*(C" & i + 1 & ":C" & dernLigne & "=C" & i & "),0)"
res = Evaluate(formule)
If Not IsError(res) Then MsgBox "Doublons entre les lignes " & i & " et " & _ i + res & ".", vbInformation + vbOKOnly, "Attention!" VerifieDoublonsSur2Criteres = True Exit For ' dès qu'on trouve un doublon, on sort de la boucle! End If Next i
End Function
Salutations,
Daniel M.
"chris" wrote in message news:u0048$
Bonjour, Voici le pb:
DATE N° COULEE N°LOPINS
11/01/2004 G4455 11B 11/01/2004 G4455 12D 11/01/2004 G4455 11B ETC... ETC... ETC... Comment lui dire dans une Private Sub Workbook_BeforeSave qu"il vérifie que lorque le n°coulée est identique, qu'il me dise si il trouve un n° lopin identique (genre "Attention doublons ligne X).
Par avance merci
Daniel.M
Alain,
Tu pourrais utiliser une Mise En Forme Conditionnelle (MEFC)
L'effet visuel est garanti.
Sélection A2:Cx >> MEFC >> la formule est >> =EQUIV($A2&$B2&$C2;Dates&NumCoulées&NumsLopins;0)<>LIGNE($A2)-1
Sûr de cette formule? Je la suspecte de retourner toujours la première ligne évaluée.
Une solution peut être avant BeforeSav? Un très court programme de tri selon 3 critères dans l'ordre : la date, la coulée, le lopin (commandé par un WordArt) qui se termine par une comparaison des données consécutives en proposant la destruction de la ligne en double...
A+
"chris" a écrit dans le message de news: u0048$
Bonjour, Voici le pb:
DATE N° COULEE N°LOPINS
11/01/2004 G4455 11B 11/01/2004 G4455 12D 11/01/2004 G4455 11B ETC... ETC... ETC... Comment lui dire dans une Private Sub Workbook_BeforeSave qu"il vérifie que lorque le n°coulée est identique, qu'il me dise si il trouve un n° lopin identique (genre "Attention doublons ligne X).
Par avance merci
Bonjour
Une solution peut être avant BeforeSav?
Un très court programme de tri selon 3 critères
dans l'ordre : la date, la coulée, le lopin
(commandé par un WordArt) qui se termine
par une comparaison des données consécutives
en proposant la destruction de la ligne en double...
A+
"chris" <christophe.reina@ac-toulouse.fr> a écrit dans le message de news:
u0048$C5EHA.3828@TK2MSFTNGP09.phx.gbl...
Bonjour,
Voici le pb:
DATE N° COULEE N°LOPINS
11/01/2004 G4455 11B
11/01/2004 G4455 12D
11/01/2004 G4455 11B
ETC... ETC... ETC...
Comment lui dire dans une Private Sub Workbook_BeforeSave qu"il vérifie
que
lorque le n°coulée est identique, qu'il me dise si il trouve un n° lopin
identique (genre "Attention doublons ligne X).
Une solution peut être avant BeforeSav? Un très court programme de tri selon 3 critères dans l'ordre : la date, la coulée, le lopin (commandé par un WordArt) qui se termine par une comparaison des données consécutives en proposant la destruction de la ligne en double...
A+
"chris" a écrit dans le message de news: u0048$
Bonjour, Voici le pb:
DATE N° COULEE N°LOPINS
11/01/2004 G4455 11B 11/01/2004 G4455 12D 11/01/2004 G4455 11B ETC... ETC... ETC... Comment lui dire dans une Private Sub Workbook_BeforeSave qu"il vérifie que lorque le n°coulée est identique, qu'il me dise si il trouve un n° lopin identique (genre "Attention doublons ligne X).