VBA - Problème Comparaison de deux tableaux

AzoR

XLDnaute Occasionnel
Bonjour à tous !

Je vous présente mon soucis : Je fais un programme où je me retrouve avec deux tableaux sur une même feuille (tableaux de mêmes dimensions) , je veux comparer chaque cellule correspondante et ainsi garder la valeur la plus élevée à chaque fois. ( Il s'agit d'une étude sur un coin noir, chaque cellule correspond à une valeur de température d'un capteur et donc je dois garder la valeur la plus haute ). En sachant que le programme se répète afin de faire plusieurs acquisition dans le temps.

Voici ce que j'ai essayer :


Sub ComparaisonRemplacement()

For Each Cell In Range("B41:I53")
For Each Cell1 In Range("K41:R53")
If Cell.Value < Cell1.Value Then Cell.Value = Cell1.Value
Next
Next

End Sub



Or ce programme me renvoi la valeur la plus haute dans TOUTES les cellules du tableau dans lequel je dois remplacer uniquement les cellules ou la valeurs récemment obtenue est la plus élevée.


Je voudrai par exemple que le programme me fasse ceci : tableau initial à zéro :
0 0 0
0 0 0


Valeurs obtenues lors de la première acquisition :
19 19 20
18 21 19


Normalement nous devrions obtenir :
19 19 20
18 21 19 dans le tableau initial puisque tout est > à 0.


Or avec nos lignes on obtient :
21 21 21
21 21 21


Pourriez vous me donner un petit coup de pouce s'il vous plait ? Merci d'avance !!! :) Bonne soirée
 

AzoR

XLDnaute Occasionnel
Re : VBA - Problème Comparaison de deux tableaux

screen.jpg

Voici UNE PARTIE du tableau pour que vous puissiez comprendre un peu mieux peut-être :p
 

Pièces jointes

  • screen.jpg
    screen.jpg
    34.1 KB · Affichages: 69
  • screen.jpg
    screen.jpg
    34.1 KB · Affichages: 74

vgendron

XLDnaute Barbatruc
Re : VBA - Problème Comparaison de deux tableaux

hello
ton code compare chaque cellule du tableau initiale à TOUTES les cellules du tableau d'a coté
alors que je pense que tu souhaites comparer chaque cellule à son "homologue" dans le tableau d'a coté
B41 avec K41
B42 avec K42....

donc avec ce code
Code:
Sub ComparaisonRemplacement()

For Each cell In Range("B41:I53")
        ligne = cell.Row
        colonne = cell.Column
        If cell.Value < Cells(ligne, colonne + 9) Then cell.Value = Cells(ligne, colonne + 9)
        Next cell
End Sub
 

AzoR

XLDnaute Occasionnel
Re : VBA - Problème Comparaison de deux tableaux

Ah d'accord désolé je débute en VBA et même en programmation en général ...
Je test ça demain matin à 9h et je reviens vers toi pour te dire si sa marche même si je ne vois pas pourquoi cela ne fonctionnerai pas.
Et oui oui c'est bien par rapport à son homologue pour garder la valeur correspondant à l'emplacement du capteur sur la paroi !

Merci beaucoup de ta très rapide réponse je reposterai sur ce forum si j'ai d'autres soucis dans la suite de mon stage !

Bonne soirée à toi !
 

AzoR

XLDnaute Occasionnel
Re : VBA - Problème Comparaison de deux tableaux

Re !

Je viens d'essayer sa marche niquel, je l'ai juste recopier 3 fois en changer le numéro de ligne pour pouvoir faire mes 3 parois et ça fonctionne merci beaucoup !

Bonne journée à toi ! :p
 

AzoR

XLDnaute Occasionnel
Re : VBA - Problème Comparaison de deux tableaux

Par contre je crois que lorsque je réalise ma seconde acquisition, il ne prend pas la plus haute entre l'ancienne valeur et la nouvelle, il prend forcément la nouvelle. Une idée pour pas que cela ne se passe ?
 

vgendron

XLDnaute Barbatruc
Re : VBA - Problème Comparaison de deux tableaux

Hello


Il faudrait que tu postes ton fichier exemple pour qu'on ait une vision plus claire de ce qui se passe.
parce que la..comme ca... un problème de format de cellule?
pour poster, utilise le mode avancé (sous la fenetre de post) puis gestion des fichiers.
 

AzoR

XLDnaute Occasionnel
Re : VBA - Problème Comparaison de deux tableaux

Ah non c'est bon désolé c'est moi qui à oublier d'enlever la ligne de mise à zéro qui sert à rien d'ailleurs car lorsque qu'il compare à rien il prend forcément la valeur sans générer de message d'erreur donc pas besoin de mise à zéro.

ça marche super bien merci beaucoup ! :D Bonne journée à toi !
 

Discussions similaires

Réponses
4
Affichages
307

Statistiques des forums

Discussions
312 111
Messages
2 085 399
Membres
102 882
dernier inscrit
Sultan94