Comparaison de cellules en VBA

helene51

XLDnaute Junior
Bonjour le forum,
Je reviens vers vous car j'ai des soucis avec une petite partie de mon code.
Grâce à celui-ci je souhaite comparer 2 valeurs de cellules et si elles sont identiques, refaire une comparaison de 2 cellules (dates) et si elles sont identiques copier une valeur de la ligne et la coller à un autre endroit de la feuille.
Or je n'ai jamais rien dans mon nouveau tableau et je ne comprends pas pourquoi alors que toutes les conditions sont remplies.

Voilà où j'en suis arrivée :
Code:
 Derligne = Sheets("Donnees TRS").Range("AS65536").End(xlUp).Row
With Sheets("Donnees TRS")
For i = 2 To Derligne
    If .Cells(i, 45).Value = .Cells(i, 1).Value Then
        If .Cells(i, 2).Value = "Huit 1" Then .Cells(i, 46).Value = .Cells(i, 11).Value
        If .Cells(1, 47).Value = .Cells(i, 2).Value Then .Cells(i, 47).Value = .Cells(i, 11).Value
        If .Cells(1, 48).Value = .Cells(i, 2).Value Then .Cells(i, 48).Value = .Cells(i, 11).Value
    End If
Next i
End With

Je n'arrive pas à faire un fichier pour vous montrer alors j'espère que vous comprendrez ce que je veux faire.

Merci d'avance.
 

kjin

XLDnaute Barbatruc
Re : Comparaison de cellules en VBA

Bonjour,
Pas testé mais, tes colonnes 47 à 49 sont masquées, et il n'y a rien en ligne1 de ces même colonne :confused:
Code:
        If .Cells(1, [COLOR="Red"]47[/COLOR]).Value = .Cells(i, 2).Value Then .Cells(i, 47).Value = .Cells(i, 11).Value
        If .Cells(1, [COLOR="Red"]48[/COLOR]).Value = .Cells(i, 2).Value Then .Cells(i, 48).Value = .Cells(i, 11).Value
A+
kjin
 

helene51

XLDnaute Junior
Re : Comparaison de cellules en VBA

Bonjour pierrejean, kjin, tototiti2008,

Avec ta remarque pierrejean je crois avoir compris d'où viens le problème :
toutes les dates ne contiennent pas de données.
Est-ce que si les dates de mon tableau à droite ne correspondent pas à des dates de mes données de tableau de gauche la boucle est interrompue ?
En d'autres termes, est-ce que s'il n'y a pas de données correspondant à une date, la boucle se termine ?

Moi j'aurai voulu faire en quelque sorte une recherchev sur mon tableau de gauche pour y extraire mes données dans mon tableau de droite.
Comment modifier mon code pour y arriver ?

Mais est-ce réellement ça mon problème par rapport à la condition sur la date ?

Je poursuis mes recherches.
 

pierrejean

XLDnaute Barbatruc
Re : Comparaison de cellules en VBA

Re

il est bien difficile d'interpreter un code erroné pour savoir ce que souhaite son auteur
Peux-tu nous dire dans la langue de Moliere (ou en gaulois) quelle recherche tu veux faire
Avec si possible un exemple du resultat avant et apres
 

pascal cfp 49

XLDnaute Nouveau
Re : Comparaison de cellules en VBA

Bonjour le forum,
Je reviens vers vous car j'ai des soucis avec une petite partie de mon code.
Grâce à celui-ci je souhaite comparer 2 valeurs de cellules et si elles sont identiques, refaire une comparaison de 2 cellules (dates) et si elles sont identiques copier une valeur de la ligne et la coller à un autre endroit de la feuille.
Or je n'ai jamais rien dans mon nouveau tableau et je ne comprends pas pourquoi alors que toutes les conditions sont remplies.

Voilà où j'en suis arrivée :
Code:
 Derligne = Sheets("Donnees TRS").Range("AS65536").End(xlUp).Row
With Sheets("Donnees TRS")
For i = 2 To Derligne
    If .Cells(i, 45).Value = .Cells(i, 1).Value Then
        If .Cells(i, 2).Value = "Huit 1" Then .Cells(i, 46).Value = .Cells(i, 11).Value
        If .Cells(1, 47).Value = .Cells(i, 2).Value Then .Cells(i, 47).Value = .Cells(i, 11).Value
        If .Cells(1, 48).Value = .Cells(i, 2).Value Then .Cells(i, 48).Value = .Cells(i, 11).Value
    End If
Next i
End With

Je n'arrive pas à faire un fichier pour vous montrer alors j'espère que vous comprendrez ce que je veux faire.

Merci d'avance.

Je te propose d'essayer une formule conditionnelle avec un colonne intermédiaire. Si j'ai bien cerné ta demande se serai plus simple qu'une vba

pascal cfp 49
 

helene51

XLDnaute Junior
Re : Comparaison de cellules en VBA

Bonsoir le forum, pascal cfp 49, pierrejean, kjin, tototiti2008,

Je vais essayer d'être plus explicite sur mes attentes car jusqu'à présent ça n'est pas vraiment le cas !

Alors, dans les colonnes A:AN de mon onglet "Donnees TRS" je collecte des données des autres onglets du classeur.
A partir de là je souhaite ne récupérer que quelques informations de toutes ces colonnes, à savoir la colonne K.
Mon USF me permet de sélectionner des dates sur lesquelles collecter les données.

Ces dates sont inscrites dans la colonne AS.
Ensuite si la valeur de la cellule AT1 = la valeur de la cellule Bi ET que la valeur de la cellule ASj = la valeur de la cellule Ai alors on copie la valeur de la cellule Ki dans la cellule ATj.
J'utilise i et j car je souhaite tester les conditions pour toutes les dates de la colonne AS.

J'espère avoir été plus claire ...
Je passe par VBA car j'ai déjà une opération de saisie à partir d'un formulaire et que la récupération de ces données se fait en cliquant sur un bouton de celui-ci.

Je vous remercie pour vos remarques et de me consacrer un peu de temps.

Bonne soirée!
 

kjin

XLDnaute Barbatruc
Re : Comparaison de cellules en VBA

Re,
Ca demeure obscure et moi si c'est pas clair...
J'utilise i et j car je souhaite tester les conditions pour toutes les dates de la colonne AS.
Là je pige pas vraiment
Laissons de coté la colonne "Huit", qu'il faut trouver...c'est une autre procédure
Ma question est : les dates à comparer doivent-elles se situer sur la même ligne ou non, parce que i et j feraient croire le contraire ?!
En d'autre terme, dois-je tester si la date en A2 = la date en AS2 point barre, on passe à la ligne suivante et dans ce cas i suffit, ou doit-on chercher A2 dans toute la colonne AS et là je comprendrait l'existence de j
A+
kjin
 

Statistiques des forums

Discussions
312 330
Messages
2 087 337
Membres
103 524
dernier inscrit
Smile1813