comparaison de tableaux vba

Le
cousinhub
Bonjour, ou plutôt bonsoir.
Une petite question pour le fun.
2 feuilles comprenant une quinzaine de colonnes et un nombre x de lignes.
dans la feuille archives, ben les archives.
Dans la feuille modification mensuelle, le même tableau, avec peut-être
des lignes identiques, et sûrement des lignes différentes.
Le but de ma question : est-il possible de charger ces différents
tableaux dans des Arrays, et les comparer, puis récupérer les données
différentes et les écrire dans la feuille archives, sachant que la
comparaison doit se faire sur 3 critères?
On obtiendra donc 2 tableaux en mémoire, chacun avec un nombre de lignes
différent, mais avec les 3 colonnes à tester?
Ce que je fais pour le moment,j'utilise un MATCH :
(""" & Cells(I, 2) & """&""" & Cells(I, 3) & """&""" & Cells(I, 4) &
""",nom&prenom&age,0)")
nom, prenom et age étant des zones nommées, I étant le numéro de la
ligne à tester dans la feuille Modif.
Merci et allez la France, qu'on bouffe ces Rosbifs :D
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4660591
Bonsoir,

Un exemple:
http://boisgontierjacques.free.fr/fichiers/Filtre/FiltreElaboreNonCorrespon dance.xls
http://boisgontierjacques.free.fr/fichiers/MFC/BDCompareMFC.xls

JB
http://boisgontierjacques.free.fr/

On 18 août, 20:50, cousinhub
Bonjour, ou plutôt bonsoir.
Une petite question pour le fun.
2 feuilles comprenant une quinzaine de colonnes et un nombre x de lignes.
dans la feuille archives, ben les archives.
Dans la feuille modification mensuelle, le même tableau, avec peut-êt re
des lignes identiques, et sûrement des lignes différentes.
Le but de ma question : est-il possible de charger ces différents
tableaux dans des Arrays, et les comparer, puis récupérer les donné es
différentes et les écrire dans la feuille archives, sachant que la
comparaison doit se faire sur 3 critères?
On obtiendra donc 2 tableaux en mémoire, chacun avec un nombre de lignes
différent, mais avec les 3 colonnes à tester?
Ce que je fais pour le moment,j'utilise un MATCH :
(""" & Cells(I, 2) & """&""" & Cells(I, 3) & """&""" & Cells(I, 4) &
""",nom&prenom&age,0)")
nom, prenom et age étant des zones nommées, I étant le numéro de la
ligne à tester dans la feuille Modif.
Merci et allez la France, qu'on bouffe ces Rosbifs :D


Trirème
Le #4660581
Bonsoir cousinhub,

Merci et allez la France, qu'on bouffe ces Rosbifs :D
Ceci est un forum modéré. Non à toute incitation à la violence ;-)

... Allez les petits !

Cordialement,
Trirème

Trirème
Le #4660561
Bonsoir JB,
NON Lille n'est ni en Haute Marne, ni dans la Marne mais dans le Nord (59)
;-)
Trirème

Bonsoir,

Un exemple:
http://boisgontierjacques.free.fr/fichiers/Filtre/FiltreElaboreNonCorrespondance.xls
http://boisgontierjacques.free.fr/fichiers/MFC/BDCompareMFC.xls

JB
http://boisgontierjacques.free.fr/

On 18 août, 20:50, cousinhub
Bonjour, ou plutôt bonsoir.
Une petite question pour le fun.
2 feuilles comprenant une quinzaine de colonnes et un nombre x de lignes.
dans la feuille archives, ben les archives.
Dans la feuille modification mensuelle, le même tableau, avec peut-être
des lignes identiques, et sûrement des lignes différentes.
Le but de ma question : est-il possible de charger ces différents
tableaux dans des Arrays, et les comparer, puis récupérer les données
différentes et les écrire dans la feuille archives, sachant que la
comparaison doit se faire sur 3 critères?
On obtiendra donc 2 tableaux en mémoire, chacun avec un nombre de lignes
différent, mais avec les 3 colonnes à tester?
Ce que je fais pour le moment,j'utilise un MATCH :
(""" & Cells(I, 2) & """&""" & Cells(I, 3) & """&""" & Cells(I, 4) &
""",nom&prenom&age,0)")
nom, prenom et age étant des zones nommées, I étant le numéro de la
ligne à tester dans la feuille Modif.
Merci et allez la France, qu'on bouffe ces Rosbifs :D






cousinhub
Le #4660551
Bonsoir, et merci JB, mais ce n'était pas tout à fait ce que je désirais.
Je voulais comparer ces deux tableaux en VBA, par la méthode des Arrays
(j'ai trouvé pour comparer UNE valeur, mais pour trois....
Merci encore (PS, j'ai déjà pratiquement tous tes fichiers, ton site est
dans mes préférés, bravo pour le travail et merci de le faire partager)

Bonsoir,

Un exemple:
http://boisgontierjacques.free.fr/fichiers/Filtre/FiltreElaboreNonCorrespondance.xls
http://boisgontierjacques.free.fr/fichiers/MFC/BDCompareMFC.xls

JB
http://boisgontierjacques.free.fr/

On 18 août, 20:50, cousinhub
Bonjour, ou plutôt bonsoir.
Une petite question pour le fun.
2 feuilles comprenant une quinzaine de colonnes et un nombre x de lignes.
dans la feuille archives, ben les archives.
Dans la feuille modification mensuelle, le même tableau, avec peut-être
des lignes identiques, et sûrement des lignes différentes.
Le but de ma question : est-il possible de charger ces différents
tableaux dans des Arrays, et les comparer, puis récupérer les données
différentes et les écrire dans la feuille archives, sachant que la
comparaison doit se faire sur 3 critères?
On obtiendra donc 2 tableaux en mémoire, chacun avec un nombre de lignes
différent, mais avec les 3 colonnes à tester?
Ce que je fais pour le moment,j'utilise un MATCH :
(""" & Cells(I, 2) & """&""" & Cells(I, 3) & """&""" & Cells(I, 4) &
""",nom&prenom&age,0)")
nom, prenom et age étant des zones nommées, I étant le numéro de la
ligne à tester dans la feuille Modif.
Merci et allez la France, qu'on bouffe ces Rosbifs :D






cousinhub
Le #4660541
On n'est pas la SPA, non plus :D

Bonsoir cousinhub,

Merci et allez la France, qu'on bouffe ces Rosbifs :D
Ceci est un forum modéré. Non à toute incitation à la violence ;-)

... Allez les petits !

Cordialement,
Trirème



JB
Le #4660401
1/Approche Match matriciel:

p = Evaluate("match(1,(nom¡)*(prenom±),0)")
If Not IsError(p) Then
Range("nom")(1).Offset(p - 1).Select
Else
MsgBox "inconnu"
End If

2/

n = "Dupont"
p = "Jean"
For i = 1 To Range("nom").Count
If Range("nom")(i) = n And Range("prenom")(i) = p Then
MsgBox "ok"
End If
Next i

3/ Tableaux (doit être + rapide)

n = "Dupont"
p = "Jean"
Set tnom = [Nom] ' transfert range dans tableau
Set tprenom = [prenom]
For i = 1 To Range("nom").Count
If tnom(i) = n And tprenom(i) = p Then
MsgBox "ok"
End If
Next i
End Sub

JB



On 18 août, 21:32, cousinhub
Bonsoir, et merci JB, mais ce n'était pas tout à fait ce que je dés irais.
Je voulais comparer ces deux tableaux en VBA, par la méthode des Arrays
(j'ai trouvé pour comparer UNE valeur, mais pour trois....
Merci encore (PS, j'ai déjà pratiquement tous tes fichiers, ton site est
dans mes préférés, bravo pour le travail et merci de le faire parta ger)




Bonsoir,

Un exemple:
http://boisgontierjacques.free.fr/fichiers/Filtre/FiltreElaboreNonCor...
http://boisgontierjacques.free.fr/fichiers/MFC/BDCompareMFC.xls

JB
http://boisgontierjacques.free.fr/

On 18 août, 20:50, cousinhub
Bonjour, ou plutôt bonsoir.
Une petite question pour le fun.
2 feuilles comprenant une quinzaine de colonnes et un nombre x de lign es.
dans la feuille archives, ben les archives.
Dans la feuille modification mensuelle, le même tableau, avec peut- être
des lignes identiques, et sûrement des lignes différentes.
Le but de ma question : est-il possible de charger ces différents
tableaux dans des Arrays, et les comparer, puis récupérer les donn ées
différentes et les écrire dans la feuille archives, sachant que la
comparaison doit se faire sur 3 critères?
On obtiendra donc 2 tableaux en mémoire, chacun avec un nombre de li gnes
différent, mais avec les 3 colonnes à tester?
Ce que je fais pour le moment,j'utilise un MATCH :
(""" & Cells(I, 2) & """&""" & Cells(I, 3) & """&""" & Cells(I, 4) &
""",nom&prenom&age,0)")
nom, prenom et age étant des zones nommées, I étant le numéro de la
ligne à tester dans la feuille Modif.
Merci et allez la France, qu'on bouffe ces Rosbifs :D- Masquer le text e des messages précédents -



- Afficher le texte des messages précédents -




cousinhub
Le #4660391
re, et merci, je vais travailler sur ta 3 ème proposition, avec trois
conditions, cela devrait fonctionner également
Bonne soirée

1/Approche Match matriciel:

p = Evaluate("match(1,(nom¡)*(prenom±),0)")
If Not IsError(p) Then
Range("nom")(1).Offset(p - 1).Select
Else
MsgBox "inconnu"
End If

2/

n = "Dupont"
p = "Jean"
For i = 1 To Range("nom").Count
If Range("nom")(i) = n And Range("prenom")(i) = p Then
MsgBox "ok"
End If
Next i

3/ Tableaux (doit être + rapide)

n = "Dupont"
p = "Jean"
Set tnom = [Nom] ' transfert range dans tableau
Set tprenom = [prenom]
For i = 1 To Range("nom").Count
If tnom(i) = n And tprenom(i) = p Then
MsgBox "ok"
End If
Next i
End Sub

JB



On 18 août, 21:32, cousinhub
Bonsoir, et merci JB, mais ce n'était pas tout à fait ce que je désirais.
Je voulais comparer ces deux tableaux en VBA, par la méthode des Arrays
(j'ai trouvé pour comparer UNE valeur, mais pour trois....
Merci encore (PS, j'ai déjà pratiquement tous tes fichiers, ton site est
dans mes préférés, bravo pour le travail et merci de le faire partager)




Bonsoir,
Un exemple:
http://boisgontierjacques.free.fr/fichiers/Filtre/FiltreElaboreNonCor...
http://boisgontierjacques.free.fr/fichiers/MFC/BDCompareMFC.xls
JB
http://boisgontierjacques.free.fr/
On 18 août, 20:50, cousinhub
Bonjour, ou plutôt bonsoir.
Une petite question pour le fun.
2 feuilles comprenant une quinzaine de colonnes et un nombre x de lignes.
dans la feuille archives, ben les archives.
Dans la feuille modification mensuelle, le même tableau, avec peut-être
des lignes identiques, et sûrement des lignes différentes.
Le but de ma question : est-il possible de charger ces différents
tableaux dans des Arrays, et les comparer, puis récupérer les données
différentes et les écrire dans la feuille archives, sachant que la
comparaison doit se faire sur 3 critères?
On obtiendra donc 2 tableaux en mémoire, chacun avec un nombre de lignes
différent, mais avec les 3 colonnes à tester?
Ce que je fais pour le moment,j'utilise un MATCH :
(""" & Cells(I, 2) & """&""" & Cells(I, 3) & """&""" & Cells(I, 4) &
""",nom&prenom&age,0)")
nom, prenom et age étant des zones nommées, I étant le numéro de la
ligne à tester dans la feuille Modif.
Merci et allez la France, qu'on bouffe ces Rosbifs :D- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -










JB
Le #4660351
http://cjoint.com/?isxRwhxvjn

JB
On 18 août, 22:58, cousinhub
re, et merci, je vais travailler sur ta 3 ème proposition, avec trois
conditions, cela devrait fonctionner également
Bonne soirée




1/Approche Match matriciel:

p = Evaluate("match(1,(nom¡)*(prenom±),0)")
If Not IsError(p) Then
Range("nom")(1).Offset(p - 1).Select
Else
MsgBox "inconnu"
End If

2/

n = "Dupont"
p = "Jean"
For i = 1 To Range("nom").Count
If Range("nom")(i) = n And Range("prenom")(i) = p Then
MsgBox "ok"
End If
Next i

3/ Tableaux (doit être + rapide)

n = "Dupont"
p = "Jean"
Set tnom = [Nom] ' transfert range dans tableau
Set tprenom = [prenom]
For i = 1 To Range("nom").Count
If tnom(i) = n And tprenom(i) = p Then
MsgBox "ok"
End If
Next i
End Sub

JB

On 18 août, 21:32, cousinhub
Bonsoir, et merci JB, mais ce n'était pas tout à fait ce que je d ésirais.
Je voulais comparer ces deux tableaux en VBA, par la méthode des Arr ays
(j'ai trouvé pour comparer UNE valeur, mais pour trois....
Merci encore (PS, j'ai déjà pratiquement tous tes fichiers, ton si te est
dans mes préférés, bravo pour le travail et merci de le faire pa rtager)




Bonsoir,
Un exemple:
http://boisgontierjacques.free.fr/fichiers/Filtre/FiltreElaboreNonCor. ..
http://boisgontierjacques.free.fr/fichiers/MFC/BDCompareMFC.xls
JB
http://boisgontierjacques.free.fr/
On 18 août, 20:50, cousinhub
Bonjour, ou plutôt bonsoir.
Une petite question pour le fun.
2 feuilles comprenant une quinzaine de colonnes et un nombre x de li gnes.
dans la feuille archives, ben les archives.
Dans la feuille modification mensuelle, le même tableau, avec peut -être
des lignes identiques, et sûrement des lignes différentes.
Le but de ma question : est-il possible de charger ces différents
tableaux dans des Arrays, et les comparer, puis récupérer les do nnées
différentes et les écrire dans la feuille archives, sachant que la
comparaison doit se faire sur 3 critères?
On obtiendra donc 2 tableaux en mémoire, chacun avec un nombre de lignes
différent, mais avec les 3 colonnes à tester?
Ce que je fais pour le moment,j'utilise un MATCH :
(""" & Cells(I, 2) & """&""" & Cells(I, 3) & """&""" & Cells(I, 4) &
""",nom&prenom&age,0)")
nom, prenom et age étant des zones nommées, I étant le numér o de la
ligne à tester dans la feuille Modif.
Merci et allez la France, qu'on bouffe ces Rosbifs :D- Masquer le te xte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -





- Afficher le texte des messages précédents -






JB
Le #4660341
Approche BD (+rapide)

http://cjoint.com/?isx6GwGiVI

JB

On 18 août, 22:58, cousinhub
re, et merci, je vais travailler sur ta 3 ème proposition, avec trois
conditions, cela devrait fonctionner également
Bonne soirée




1/Approche Match matriciel:

p = Evaluate("match(1,(nom¡)*(prenom±),0)")
If Not IsError(p) Then
Range("nom")(1).Offset(p - 1).Select
Else
MsgBox "inconnu"
End If

2/

n = "Dupont"
p = "Jean"
For i = 1 To Range("nom").Count
If Range("nom")(i) = n And Range("prenom")(i) = p Then
MsgBox "ok"
End If
Next i

3/ Tableaux (doit être + rapide)

n = "Dupont"
p = "Jean"
Set tnom = [Nom] ' transfert range dans tableau
Set tprenom = [prenom]
For i = 1 To Range("nom").Count
If tnom(i) = n And tprenom(i) = p Then
MsgBox "ok"
End If
Next i
End Sub

JB

On 18 août, 21:32, cousinhub
Bonsoir, et merci JB, mais ce n'était pas tout à fait ce que je d ésirais.
Je voulais comparer ces deux tableaux en VBA, par la méthode des Arr ays
(j'ai trouvé pour comparer UNE valeur, mais pour trois....
Merci encore (PS, j'ai déjà pratiquement tous tes fichiers, ton si te est
dans mes préférés, bravo pour le travail et merci de le faire pa rtager)




Bonsoir,
Un exemple:
http://boisgontierjacques.free.fr/fichiers/Filtre/FiltreElaboreNonCor. ..
http://boisgontierjacques.free.fr/fichiers/MFC/BDCompareMFC.xls
JB
http://boisgontierjacques.free.fr/
On 18 août, 20:50, cousinhub
Bonjour, ou plutôt bonsoir.
Une petite question pour le fun.
2 feuilles comprenant une quinzaine de colonnes et un nombre x de li gnes.
dans la feuille archives, ben les archives.
Dans la feuille modification mensuelle, le même tableau, avec peut -être
des lignes identiques, et sûrement des lignes différentes.
Le but de ma question : est-il possible de charger ces différents
tableaux dans des Arrays, et les comparer, puis récupérer les do nnées
différentes et les écrire dans la feuille archives, sachant que la
comparaison doit se faire sur 3 critères?
On obtiendra donc 2 tableaux en mémoire, chacun avec un nombre de lignes
différent, mais avec les 3 colonnes à tester?
Ce que je fais pour le moment,j'utilise un MATCH :
(""" & Cells(I, 2) & """&""" & Cells(I, 3) & """&""" & Cells(I, 4) &
""",nom&prenom&age,0)")
nom, prenom et age étant des zones nommées, I étant le numér o de la
ligne à tester dans la feuille Modif.
Merci et allez la France, qu'on bouffe ces Rosbifs :D- Masquer le te xte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -





- Afficher le texte des messages précédents -






Publicité
Poster une réponse
Anonyme