Bonsoir,
Win XP, Excel 2002
Malgré mes recherches sur Excelabo et le travail du fichier de JB
(unionlistes), je n'arrive pas à trouver la solution.
J'ai essayé la fusion, l'extraction sans doublons, la mise en couleur des
doublons mais mes maigres connaissances ne me permettent pas d'obtenir le
résultat souhaité.
Je me permets de soumettre un extrait de mon fichier
http://www.cijoint.fr/cij111826431312214.xls
Le problème :
Un onglet avec un fichier provenant d'un ERP
Un onglet avec un fichier provenant d'un autre système
Objectif : automatiser la vérification de factures.
- obtenir dans un onglet les lignes de l'ERP non présentent dans l'autre
système
- obtenir dans un onglet les lignes de l'autre système non présentent
dans l'ERP.
Un champ commun : le champ référence.
Est réalisable ? Les champs des 2 fichiers peuvent ils être différents ?
Merci pour votre aide
BH.
Bonsoir,
Win XP, Excel 2002
Malgré mes recherches sur Excelabo et le travail du fichier de JB
(unionlistes), je n'arrive pas à trouver la solution.
J'ai essayé la fusion, l'extraction sans doublons, la mise en couleur des
doublons mais mes maigres connaissances ne me permettent pas d'obtenir le
résultat souhaité.
Je me permets de soumettre un extrait de mon fichier
http://www.cijoint.fr/cij111826431312214.xls
Le problème :
Un onglet avec un fichier provenant d'un ERP
Un onglet avec un fichier provenant d'un autre système
Objectif : automatiser la vérification de factures.
- obtenir dans un onglet les lignes de l'ERP non présentent dans l'autre
système
- obtenir dans un onglet les lignes de l'autre système non présentent
dans l'ERP.
Un champ commun : le champ référence.
Est réalisable ? Les champs des 2 fichiers peuvent ils être différents ?
Merci pour votre aide
BH.
Bonsoir,
Win XP, Excel 2002
Malgré mes recherches sur Excelabo et le travail du fichier de JB
(unionlistes), je n'arrive pas à trouver la solution.
J'ai essayé la fusion, l'extraction sans doublons, la mise en couleur des
doublons mais mes maigres connaissances ne me permettent pas d'obtenir le
résultat souhaité.
Je me permets de soumettre un extrait de mon fichier
http://www.cijoint.fr/cij111826431312214.xls
Le problème :
Un onglet avec un fichier provenant d'un ERP
Un onglet avec un fichier provenant d'un autre système
Objectif : automatiser la vérification de factures.
- obtenir dans un onglet les lignes de l'ERP non présentent dans l'autre
système
- obtenir dans un onglet les lignes de l'autre système non présentent
dans l'ERP.
Un champ commun : le champ référence.
Est réalisable ? Les champs des 2 fichiers peuvent ils être différents ?
Merci pour votre aide
BH.
Bonsoir,
Win XP, Excel 2002
Malgré mes recherches sur Excelabo et le travail du fichier de JB
(unionlistes), je n'arrive pas à trouver la solution.
J'ai essayé la fusion, l'extraction sans doublons, la mise en couleur des
doublons mais mes maigres connaissances ne me permettent pas d'obtenir le
résultat souhaité.
Je me permets de soumettre un extrait de mon fichier
http://www.cijoint.fr/cij111826431312214.xls
Le problème :
Un onglet avec un fichier provenant d'un ERP
Un onglet avec un fichier provenant d'un autre système
Objectif : automatiser la vérification de factures.
- obtenir dans un onglet les lignes de l'ERP non présentent dans
l'autre système
- obtenir dans un onglet les lignes de l'autre système non présentent
dans l'ERP.
Un champ commun : le champ référence.
Est réalisable ? Les champs des 2 fichiers peuvent ils être différents ?
Merci pour votre aide
BH.
Bonsoir,
Win XP, Excel 2002
Malgré mes recherches sur Excelabo et le travail du fichier de JB
(unionlistes), je n'arrive pas à trouver la solution.
J'ai essayé la fusion, l'extraction sans doublons, la mise en couleur des
doublons mais mes maigres connaissances ne me permettent pas d'obtenir le
résultat souhaité.
Je me permets de soumettre un extrait de mon fichier
http://www.cijoint.fr/cij111826431312214.xls
Le problème :
Un onglet avec un fichier provenant d'un ERP
Un onglet avec un fichier provenant d'un autre système
Objectif : automatiser la vérification de factures.
- obtenir dans un onglet les lignes de l'ERP non présentent dans
l'autre système
- obtenir dans un onglet les lignes de l'autre système non présentent
dans l'ERP.
Un champ commun : le champ référence.
Est réalisable ? Les champs des 2 fichiers peuvent ils être différents ?
Merci pour votre aide
BH.
Bonsoir,
Win XP, Excel 2002
Malgré mes recherches sur Excelabo et le travail du fichier de JB
(unionlistes), je n'arrive pas à trouver la solution.
J'ai essayé la fusion, l'extraction sans doublons, la mise en couleur des
doublons mais mes maigres connaissances ne me permettent pas d'obtenir le
résultat souhaité.
Je me permets de soumettre un extrait de mon fichier
http://www.cijoint.fr/cij111826431312214.xls
Le problème :
Un onglet avec un fichier provenant d'un ERP
Un onglet avec un fichier provenant d'un autre système
Objectif : automatiser la vérification de factures.
- obtenir dans un onglet les lignes de l'ERP non présentent dans
l'autre système
- obtenir dans un onglet les lignes de l'autre système non présentent
dans l'ERP.
Un champ commun : le champ référence.
Est réalisable ? Les champs des 2 fichiers peuvent ils être différents ?
Merci pour votre aide
BH.
Bonsoir,
Win XP, Excel 2002
Malgré mes recherches sur Excelabo et le travail du fichier de JB
(unionlistes), je n'arrive pas à trouver la solution.
J'ai essayé la fusion, l'extraction sans doublons, la mise en couleur d es
doublons mais mes maigres connaissances ne me permettent pas d'obtenir le
résultat souhaité.
Je me permets de soumettre un extrait de mon fichierhttp://www.cijoint.fr /cij111826431312214.xls
Le problème :
Un onglet avec un fichier provenant d'un ERP
Un onglet avec un fichier provenant d'un autre système
Objectif : automatiser la vérification de factures.
- obtenir dans un onglet les lignes de l'ERP non présentent dans l' autre
système
- obtenir dans un onglet les lignes de l'autre système non présen tent
dans l'ERP.
Un champ commun : le champ référence.
Est réalisable ? Les champs des 2 fichiers peuvent ils être différe nts ?
Merci pour votre aide
BH.
Bonsoir,
Win XP, Excel 2002
Malgré mes recherches sur Excelabo et le travail du fichier de JB
(unionlistes), je n'arrive pas à trouver la solution.
J'ai essayé la fusion, l'extraction sans doublons, la mise en couleur d es
doublons mais mes maigres connaissances ne me permettent pas d'obtenir le
résultat souhaité.
Je me permets de soumettre un extrait de mon fichierhttp://www.cijoint.fr /cij111826431312214.xls
Le problème :
Un onglet avec un fichier provenant d'un ERP
Un onglet avec un fichier provenant d'un autre système
Objectif : automatiser la vérification de factures.
- obtenir dans un onglet les lignes de l'ERP non présentent dans l' autre
système
- obtenir dans un onglet les lignes de l'autre système non présen tent
dans l'ERP.
Un champ commun : le champ référence.
Est réalisable ? Les champs des 2 fichiers peuvent ils être différe nts ?
Merci pour votre aide
BH.
Bonsoir,
Win XP, Excel 2002
Malgré mes recherches sur Excelabo et le travail du fichier de JB
(unionlistes), je n'arrive pas à trouver la solution.
J'ai essayé la fusion, l'extraction sans doublons, la mise en couleur d es
doublons mais mes maigres connaissances ne me permettent pas d'obtenir le
résultat souhaité.
Je me permets de soumettre un extrait de mon fichierhttp://www.cijoint.fr /cij111826431312214.xls
Le problème :
Un onglet avec un fichier provenant d'un ERP
Un onglet avec un fichier provenant d'un autre système
Objectif : automatiser la vérification de factures.
- obtenir dans un onglet les lignes de l'ERP non présentent dans l' autre
système
- obtenir dans un onglet les lignes de l'autre système non présen tent
dans l'ERP.
Un champ commun : le champ référence.
Est réalisable ? Les champs des 2 fichiers peuvent ils être différe nts ?
Merci pour votre aide
BH.
Bonsoir,
Un grand merci à vous trois.
En prenant garde au format du contenu du champ REF1 et en supprimant les
espaces superflus, j'obtiens le résultat attendu, enfin je l'espère, car
j'ai plus de 4000 lignes par mois !!
Question à JB pour essayer de progresser (j'ai essayé de comprendre la
fonction Difftriée du fichier uniondiffliste en vain !) :
Pouvez décrire les étapes de la macro ?
- vous nommez chacune des zones
-
-
-
Encore merci
BH
"JB" a écrit dans le message de news:
Bonjour,
Sub ErpNonFact()
Set sBD1 = Sheets("ligne ERP")
Set sBD2 = Sheets("ligne invoice")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:úlse)
If c Is Nothing Then
Sheets("erp non fact").Cells(ligneEcrit, 1).Resize(1,
6).Value = _
sBD1.Cells(i, 1).Resize(1, 6).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Sub FactNonErp()
Set sBD1 = Sheets("ligne invoice")
Set sBD2 = Sheets("ligne ERP")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:úlse)
If c Is Nothing Then
Sheets("fact non erp").Cells(ligneEcrit, 1).Resize(1,
12).Value = _
sBD1.Cells(i, 1).Resize(1, 12).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Cordialement JB
Bonsoir,
Un grand merci à vous trois.
En prenant garde au format du contenu du champ REF1 et en supprimant les
espaces superflus, j'obtiens le résultat attendu, enfin je l'espère, car
j'ai plus de 4000 lignes par mois !!
Question à JB pour essayer de progresser (j'ai essayé de comprendre la
fonction Difftriée du fichier uniondiffliste en vain !) :
Pouvez décrire les étapes de la macro ?
- vous nommez chacune des zones
-
-
-
Encore merci
BH
"JB" <boisgont...@hotmail.com> a écrit dans le message de news:
1178260010.100085.47...@n59g2000hsh.googlegroups.com...
Bonjour,
Sub ErpNonFact()
Set sBD1 = Sheets("ligne ERP")
Set sBD2 = Sheets("ligne invoice")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:=False)
If c Is Nothing Then
Sheets("erp non fact").Cells(ligneEcrit, 1).Resize(1,
6).Value = _
sBD1.Cells(i, 1).Resize(1, 6).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Sub FactNonErp()
Set sBD1 = Sheets("ligne invoice")
Set sBD2 = Sheets("ligne ERP")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:=False)
If c Is Nothing Then
Sheets("fact non erp").Cells(ligneEcrit, 1).Resize(1,
12).Value = _
sBD1.Cells(i, 1).Resize(1, 12).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Cordialement JB
Bonsoir,
Un grand merci à vous trois.
En prenant garde au format du contenu du champ REF1 et en supprimant les
espaces superflus, j'obtiens le résultat attendu, enfin je l'espère, car
j'ai plus de 4000 lignes par mois !!
Question à JB pour essayer de progresser (j'ai essayé de comprendre la
fonction Difftriée du fichier uniondiffliste en vain !) :
Pouvez décrire les étapes de la macro ?
- vous nommez chacune des zones
-
-
-
Encore merci
BH
"JB" a écrit dans le message de news:
Bonjour,
Sub ErpNonFact()
Set sBD1 = Sheets("ligne ERP")
Set sBD2 = Sheets("ligne invoice")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:úlse)
If c Is Nothing Then
Sheets("erp non fact").Cells(ligneEcrit, 1).Resize(1,
6).Value = _
sBD1.Cells(i, 1).Resize(1, 6).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Sub FactNonErp()
Set sBD1 = Sheets("ligne invoice")
Set sBD2 = Sheets("ligne ERP")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:úlse)
If c Is Nothing Then
Sheets("fact non erp").Cells(ligneEcrit, 1).Resize(1,
12).Value = _
sBD1.Cells(i, 1).Resize(1, 12).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Cordialement JB
Bonsoir,
Un grand merci à vous trois.
En prenant garde au format du contenu du champ REF1 et en supprimant les
espaces superflus, j'obtiens le résultat attendu, enfin je l'espère, car
j'ai plus de 4000 lignes par mois !!
Question à JB pour essayer de progresser (j'ai essayé de comprendre la
fonction Difftriée du fichier uniondiffliste en vain !) :
Pouvez décrire les étapes de la macro ?
- vous nommez chacune des zones
-
-
-
Encore merci
BH
"JB" a écrit dans le message de news:
Bonjour,
Sub ErpNonFact()
Set sBD1 = Sheets("ligne ERP")
Set sBD2 = Sheets("ligne invoice")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:úlse)
If c Is Nothing Then
Sheets("erp non fact").Cells(ligneEcrit, 1).Resize(1,
6).Value = _
sBD1.Cells(i, 1).Resize(1, 6).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Sub FactNonErp()
Set sBD1 = Sheets("ligne invoice")
Set sBD2 = Sheets("ligne ERP")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:úlse)
If c Is Nothing Then
Sheets("fact non erp").Cells(ligneEcrit, 1).Resize(1,
12).Value = _
sBD1.Cells(i, 1).Resize(1, 12).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Cordialement JB
Bonsoir,
Un grand merci à vous trois.
En prenant garde au format du contenu du champ REF1 et en supprimant les
espaces superflus, j'obtiens le résultat attendu, enfin je l'espère, car
j'ai plus de 4000 lignes par mois !!
Question à JB pour essayer de progresser (j'ai essayé de comprendre la
fonction Difftriée du fichier uniondiffliste en vain !) :
Pouvez décrire les étapes de la macro ?
- vous nommez chacune des zones
-
-
-
Encore merci
BH
"JB" <boisgont...@hotmail.com> a écrit dans le message de news:
1178260010.100085.47...@n59g2000hsh.googlegroups.com...
Bonjour,
Sub ErpNonFact()
Set sBD1 = Sheets("ligne ERP")
Set sBD2 = Sheets("ligne invoice")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:úlse)
If c Is Nothing Then
Sheets("erp non fact").Cells(ligneEcrit, 1).Resize(1,
6).Value = _
sBD1.Cells(i, 1).Resize(1, 6).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Sub FactNonErp()
Set sBD1 = Sheets("ligne invoice")
Set sBD2 = Sheets("ligne ERP")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:úlse)
If c Is Nothing Then
Sheets("fact non erp").Cells(ligneEcrit, 1).Resize(1,
12).Value = _
sBD1.Cells(i, 1).Resize(1, 12).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Cordialement JB
Bonsoir,
Un grand merci à vous trois.
En prenant garde au format du contenu du champ REF1 et en supprimant les
espaces superflus, j'obtiens le résultat attendu, enfin je l'espère, car
j'ai plus de 4000 lignes par mois !!
Question à JB pour essayer de progresser (j'ai essayé de comprendre la
fonction Difftriée du fichier uniondiffliste en vain !) :
Pouvez décrire les étapes de la macro ?
- vous nommez chacune des zones
-
-
-
Encore merci
BH
"JB" a écrit dans le message de news:
Bonjour,
Sub ErpNonFact()
Set sBD1 = Sheets("ligne ERP")
Set sBD2 = Sheets("ligne invoice")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:úlse)
If c Is Nothing Then
Sheets("erp non fact").Cells(ligneEcrit, 1).Resize(1,
6).Value = _
sBD1.Cells(i, 1).Resize(1, 6).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Sub FactNonErp()
Set sBD1 = Sheets("ligne invoice")
Set sBD2 = Sheets("ligne ERP")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:úlse)
If c Is Nothing Then
Sheets("fact non erp").Cells(ligneEcrit, 1).Resize(1,
12).Value = _
sBD1.Cells(i, 1).Resize(1, 12).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Cordialement JB
Bonsoir,
Mes sincères remerciements pour les modifs et pour les explications.
La fonction TrimZéro est très pertinente.
Mais ma curiosité est aiguisée :
Comment Excel fait pour considérer que 000201702 et 201702 sont "des
doublons" ce qui, dans mon cas, est vrai alors qu'il considère toujours à
raison que 04135-FEU est en doublons, les deux références commençan t par des
zéros ?
Je ne sais si je suis clair mais je suis bluffé.
Comment traduire : Do While Mid(x, i, 1) = "0" And i < Len(x)
Cordialement.
BH
"JB" a écrit dans le message de news:
Bonjour,
Function DiffTriée(a As Range, b As Range) ' a:première liste b :
2e liste
Dim temp() ' tableau en mémoire
k = 0
' on cherche pour chaque item de la liste 'a' s'il existe dans liste
'b'
For i = 1 To a.Count
If IsError(Application.Match(a(i), b, 0)) And a(i) <> "" Then
' match() <->equiv()
ReDim Preserve temp(k)
temp(k) = a(i) ' on ajoute dans le tableau
k = k + 1
End If
Next i
Call tri(temp, 0, k - 1) ' appelle procédure tri
DiffTriée = Application.Transpose(temp) ' renvoie le tableau
End Function
Qq Modifs de la comparaison de 2BD:
http://boisgontierjacques.free.fr/fichiers/Cellules/Compare2BD.xls
JB
On 4 mai, 21:42, "Bruno RCSC" wrote:Bonsoir,
Un grand merci à vous trois.
En prenant garde au format du contenu du champ REF1 et en supprimant les
espaces superflus, j'obtiens le résultat attendu, enfin je l'espère , car
j'ai plus de 4000 lignes par mois !!
Question à JB pour essayer de progresser (j'ai essayé de comprendre la
fonction Difftriée du fichier uniondiffliste en vain !) :
Pouvez décrire les étapes de la macro ?
- vous nommez chacune des zones
-
-
-
Encore merci
BH
"JB" a écrit dans le message de news:
Bonjour,
Sub ErpNonFact()
Set sBD1 = Sheets("ligne ERP")
Set sBD2 = Sheets("ligne invoice")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:úlse)
If c Is Nothing Then
Sheets("erp non fact").Cells(ligneEcrit, 1).Resize(1,
6).Value = _
sBD1.Cells(i, 1).Resize(1, 6).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Sub FactNonErp()
Set sBD1 = Sheets("ligne invoice")
Set sBD2 = Sheets("ligne ERP")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:úlse)
If c Is Nothing Then
Sheets("fact non erp").Cells(ligneEcrit, 1).Resize(1,
12).Value = _
sBD1.Cells(i, 1).Resize(1, 12).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Cordialement JB- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir,
Mes sincères remerciements pour les modifs et pour les explications.
La fonction TrimZéro est très pertinente.
Mais ma curiosité est aiguisée :
Comment Excel fait pour considérer que 000201702 et 201702 sont "des
doublons" ce qui, dans mon cas, est vrai alors qu'il considère toujours à
raison que 04135-FEU est en doublons, les deux références commençan t par des
zéros ?
Je ne sais si je suis clair mais je suis bluffé.
Comment traduire : Do While Mid(x, i, 1) = "0" And i < Len(x)
Cordialement.
BH
"JB" <boisgont...@hotmail.com> a écrit dans le message de news:
1178343836.386085.310...@y5g2000hsa.googlegroups.com...
Bonjour,
Function DiffTriée(a As Range, b As Range) ' a:première liste b :
2e liste
Dim temp() ' tableau en mémoire
k = 0
' on cherche pour chaque item de la liste 'a' s'il existe dans liste
'b'
For i = 1 To a.Count
If IsError(Application.Match(a(i), b, 0)) And a(i) <> "" Then
' match() <->equiv()
ReDim Preserve temp(k)
temp(k) = a(i) ' on ajoute dans le tableau
k = k + 1
End If
Next i
Call tri(temp, 0, k - 1) ' appelle procédure tri
DiffTriée = Application.Transpose(temp) ' renvoie le tableau
End Function
Qq Modifs de la comparaison de 2BD:
http://boisgontierjacques.free.fr/fichiers/Cellules/Compare2BD.xls
JB
On 4 mai, 21:42, "Bruno RCSC" <ats....@wanadoo.fr> wrote:
Bonsoir,
Un grand merci à vous trois.
En prenant garde au format du contenu du champ REF1 et en supprimant les
espaces superflus, j'obtiens le résultat attendu, enfin je l'espère , car
j'ai plus de 4000 lignes par mois !!
Question à JB pour essayer de progresser (j'ai essayé de comprendre la
fonction Difftriée du fichier uniondiffliste en vain !) :
Pouvez décrire les étapes de la macro ?
- vous nommez chacune des zones
-
-
-
Encore merci
BH
"JB" <boisgont...@hotmail.com> a écrit dans le message de news:
1178260010.100085.47...@n59g2000hsh.googlegroups.com...
Bonjour,
Sub ErpNonFact()
Set sBD1 = Sheets("ligne ERP")
Set sBD2 = Sheets("ligne invoice")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:=False)
If c Is Nothing Then
Sheets("erp non fact").Cells(ligneEcrit, 1).Resize(1,
6).Value = _
sBD1.Cells(i, 1).Resize(1, 6).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Sub FactNonErp()
Set sBD1 = Sheets("ligne invoice")
Set sBD2 = Sheets("ligne ERP")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:=False)
If c Is Nothing Then
Sheets("fact non erp").Cells(ligneEcrit, 1).Resize(1,
12).Value = _
sBD1.Cells(i, 1).Resize(1, 12).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Cordialement JB- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir,
Mes sincères remerciements pour les modifs et pour les explications.
La fonction TrimZéro est très pertinente.
Mais ma curiosité est aiguisée :
Comment Excel fait pour considérer que 000201702 et 201702 sont "des
doublons" ce qui, dans mon cas, est vrai alors qu'il considère toujours à
raison que 04135-FEU est en doublons, les deux références commençan t par des
zéros ?
Je ne sais si je suis clair mais je suis bluffé.
Comment traduire : Do While Mid(x, i, 1) = "0" And i < Len(x)
Cordialement.
BH
"JB" a écrit dans le message de news:
Bonjour,
Function DiffTriée(a As Range, b As Range) ' a:première liste b :
2e liste
Dim temp() ' tableau en mémoire
k = 0
' on cherche pour chaque item de la liste 'a' s'il existe dans liste
'b'
For i = 1 To a.Count
If IsError(Application.Match(a(i), b, 0)) And a(i) <> "" Then
' match() <->equiv()
ReDim Preserve temp(k)
temp(k) = a(i) ' on ajoute dans le tableau
k = k + 1
End If
Next i
Call tri(temp, 0, k - 1) ' appelle procédure tri
DiffTriée = Application.Transpose(temp) ' renvoie le tableau
End Function
Qq Modifs de la comparaison de 2BD:
http://boisgontierjacques.free.fr/fichiers/Cellules/Compare2BD.xls
JB
On 4 mai, 21:42, "Bruno RCSC" wrote:Bonsoir,
Un grand merci à vous trois.
En prenant garde au format du contenu du champ REF1 et en supprimant les
espaces superflus, j'obtiens le résultat attendu, enfin je l'espère , car
j'ai plus de 4000 lignes par mois !!
Question à JB pour essayer de progresser (j'ai essayé de comprendre la
fonction Difftriée du fichier uniondiffliste en vain !) :
Pouvez décrire les étapes de la macro ?
- vous nommez chacune des zones
-
-
-
Encore merci
BH
"JB" a écrit dans le message de news:
Bonjour,
Sub ErpNonFact()
Set sBD1 = Sheets("ligne ERP")
Set sBD2 = Sheets("ligne invoice")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:úlse)
If c Is Nothing Then
Sheets("erp non fact").Cells(ligneEcrit, 1).Resize(1,
6).Value = _
sBD1.Cells(i, 1).Resize(1, 6).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Sub FactNonErp()
Set sBD1 = Sheets("ligne invoice")
Set sBD2 = Sheets("ligne ERP")
ligneEcrit = 2
nblignes = sBD1.[A65000].End(xlUp).Row + 1
For i = 2 To nblignes
x = Trim(sBD1.Cells(i, 1))
Set c = sBD2.[A:A].Find(what:=x, LookAt:=xlPart,
MatchCase:úlse)
If c Is Nothing Then
Sheets("fact non erp").Cells(ligneEcrit, 1).Resize(1,
12).Value = _
sBD1.Cells(i, 1).Resize(1, 12).Value
ligneEcrit = ligneEcrit + 1
End If
Next i
End Sub
Cordialement JB- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -