VBA - Problème Comparaison de deux tableaux

  • Initiateur de la discussion Initiateur de la discussion AzoR
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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 !
 
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 ! 😛
 
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 ?
 
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.
 
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 ! 😀 Bonne journée à toi !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Programme trop lent
Réponses
12
Affichages
898
Réponses
1
Affichages
2 K
Retour