Comparaison 2 colonnes

atlonia

XLDnaute Occasionnel
Bonsoir tout le forum,

J'ai trouvé cette macro que j'ai modifier a mon projet, mais comme je ne suis encore qu'aux debut du VBA, j'avoue que n'y comprend pas grand chose...!

Sub comparer()
Dim i, j
Dim val
Dim row4, row5
[A1].End(xlDown).Select
row4 = ActiveCell.Row
[B1].End(xlDown).Select
row5 = ActiveCell.Row

For i = 2 To row4
Cells(i, 1).Select
val = Right(ActiveCell, 7)
For j = 2 To row5
Cells(j, 2).Select
If Right(ActiveCell, 7) = val Then
Selection.Font.Bold = True
Selection.Font.ColorIndex = 3
End If
Next j
Next i

End Sub

Voila mon problème: j'ai les affectations de "raw" en fonction de ma feuille, mais je ne sais pas ce qu'il modifier pour que cette macro me donne le résultat en "Raw4" et non pas en "row2" comme c'est le cas actuellement.

quelqu'un peut-il m'aider SVP?

j'ai pris cette macro comme base départ, mais en fait, ce que je voudrais faire: c'est remplacer les valeurs de "raw4" qui ne sont que de simples texes par celles de "raw5" qui sont des Hyperliens.

Si une âme charitable voulais bien abréger mes heures de recherche...!

Ci-joint mon classeur.
 

atlonia

XLDnaute Occasionnel
Re : Comparaison 2 colonnes

Oups, Encore un raté dans l'upload...!

Voila qui est fait!
 

Pièces jointes

  • Modele objet Microsoft Exce_testl.zip
    43.1 KB · Affichages: 30
  • Modele objet Microsoft Exce_testl.zip
    43.1 KB · Affichages: 28
  • Modele objet Microsoft Exce_testl.zip
    43.1 KB · Affichages: 30

deudecos

XLDnaute Impliqué
Re : Comparaison 2 colonnes

Salut atlonia,

Je comprends que tu puisse y passer des heures parce que ton classeur, c'est le bins le plus total !

Premiere chose que tu dois savoir, c'est qu'un Row comme tu le nomme, c'est une ligne. Je ne pense pas que ce soit les lignes que tu veuilles modifier, mais plutot les colonnes. Je me trompe ?

Donc, reexplications CLAIRES sont de rigeur !
1- que veux tu comparer ? Colonne ou ligne ?
2- a quoi correspond quoi dans ton tableau ? Je suppose que tes liens ont un rapport avec quelque chose d'inscrit quelque part... c'est ou ?
3-Les trois premiers modules de ton classeur sont rigoureusement identiques... Tu as peur que le premier ne fonctionne pas ? C'est totalement inutile et ca creer des erreurs.

Voila pour les grandes lignes, J'attends tes eclaicissements pour continuer.

Bonne journee

Olivier
 

atlonia

XLDnaute Occasionnel
Re : Comparaison 2 colonnes

Merci Olivier,

En effet, je l'avoue, j'ai envoyé mon fichier brut de découragement...!

Je viens de le reprendre du mieux que j'ai pu, avec mes maigres connaissances.

Donc ce que je voudrais faire:

-comparer la cellule "C2" de la colonne "C" avec toutes les cellules de la colonne "D"
Si une valeur identique est trouvée: Remplacer le contenu de la cellule "C2" par le contenu de la cellule de la colonne "D" dont la valeur est la même.
Sinon reprendre la comparaison a la cellule "C3" et ce jusqu'à la fin de la colonne "C"

Merci encore pour tes remarques fort constructives.

Voilà, j'espère que le fichier joint est plus clair, sinon, n'hésitez pas a guider dans l'éclaircissement attendu.

Ci joint: Nouveau fichier
 

Pièces jointes

  • Modele objet Microsoft Exce_testl.zip
    37.9 KB · Affichages: 27
  • Modele objet Microsoft Exce_testl.zip
    37.9 KB · Affichages: 27
  • Modele objet Microsoft Exce_testl.zip
    37.9 KB · Affichages: 26

elokapo

XLDnaute Junior
Re : Comparaison 2 colonnes

Hello

Pourquoi ne prends tu que les 7 derniers caractères de la cellule ? pourquoi pas la cellule entiere ?

tu veux remplacer le contenu de la cellule en colonne C si en colonne D tu as la mm chose ? C'est bien ca ? Et tu fais quoi de la valeur de la colonne D ? Tu la supprimes ou tu veux la garder ?

J'attends tes réponses !

A+
Elokapo
 

atlonia

XLDnaute Occasionnel
Re : Comparaison 2 colonnes

Bonsoir elokapo,

Merci de t'intéresser à mon problème;

En fait j'ai pioché cette macro comme modèle de base, mais mes connaissance VBA sont très maigres et j'ai beaucoup de mal a la déchiffrer...!

Je voudrais effectivement remplacer la valeur texte de la colonne C par son équivalent hyperlien de la colonne D, Lequel lien peut disparaître de la colonne D puisqu'il ne me sert plus!

Merci de ton aide
 

elokapo

XLDnaute Junior
Re : Comparaison 2 colonnes

Re

Voici un exemple... jespere que ce la te conviendra... j'ai modifié quelques données dans la colonne D je crois... Cette macro n'efface pas les données en colonne D.


Colle ce code dans un module.

Sub elokapo()

Dim colc, cold, i, j

colc = Range("c1").End(xlDown).Row 'numéro de la dernière ligne non vide en colonne C
cold = Range("d1").End(xlDown).Row 'numéro de la dernière ligne non vide en colonne D

For i = 2 To colc 'on fait tourner de la ligne 2 à colc
For j = 2 To cold 'on fait tourner de la ligne 2 à cold

If Cells(i, 3).Value = Cells(j, 4).Value Then 'condition : si la valeur en colonne C = valeur colonne D alors...
Cells(j, 4).Copy 'copie la cellule D
Cells(i, 3).Select 'selectionne la cellule en C
ActiveSheet.Paste 'colle
Application.CutCopyMode = False '"sort" du coller

End If 'fin de la condition

Next j 'prochaine ligne D
Next i 'prochaine ligne C

End Sub

A+
Elokapo
 

atlonia

XLDnaute Occasionnel
Re : Comparaison 2 colonnes

Merci alokapo pour ton exemple,

Merci également Peur les commentaires précis et détaillé, pour la première fois j'ai pu lire une macro est la comprendre...!

Mais lorsque je l'essaie, elle ne fonctionne pas!

N'y a t il pas différence de codage pour VBA entre un texte classique et un Hyperlien?

Je fais peut-être fausse route!
 

elokapo

XLDnaute Junior
Re : Comparaison 2 colonnes

Hello

En faisant un copier-coller, on reprend le lien hypertexte. Cela fonctionne puisque Activesheet, Activerprinter, sont devenus des hyperliens !

A moins que tu veux que la macro tourne aussi sur les colonnes a et b ?

Essaie d'être un peu plus précis dans ta demande stp. Comme ca je pourrai t'aider plus facilement

A bientot.
Elokapo
 

atlonia

XLDnaute Occasionnel
Re : Comparaison 2 colonnes

Bonsoir elokapo,

Mille Excuse, Effectivement ça fonctionne, Je ne m'en était pas rendu compte, car j'avais déjà 3 liens dans la colonne "c", je l'ai ai donc supprimé et j'ai relancé ta macro; mais elle s'arrête a 3 valeurs trouvées alors qu'il y en a beaucoup plus...!

Par exemple (ActiveWindow, ActiveWorkbook, AddIns, etc...)

Peu-être que quelque chose ne fonctionne pas trés bien dans ma version d'excel?

Si tu pouvais vérifier avec le fichier joint, ce serait sympa de ta part!

Merci encore pour ton aide
 

Pièces jointes

  • Modele objet Microsoft Exce_testl.zip
    40.4 KB · Affichages: 27
  • Modele objet Microsoft Exce_testl.zip
    40.4 KB · Affichages: 27
  • Modele objet Microsoft Exce_testl.zip
    40.4 KB · Affichages: 28

elokapo

XLDnaute Junior
Re : Comparaison 2 colonnes

Hello

Le problème était qu'il y avait des espaces après le mot ActiveWindow par exemple.

Pour neutraliser ce problème remplace If Cells(i, 3).Value = Cells(j, 4).Value Then par :

If Trim(Cells(i, 3).Value) = Trim(Cells(j, 4).Value) Then

La fonction 'trim' enlève les espaces inutiles dans un texte.

A +
Elokapo
 

Discussions similaires

Réponses
7
Affichages
453

Membres actuellement en ligne

Statistiques des forums

Discussions
312 779
Messages
2 092 045
Membres
105 167
dernier inscrit
JulJon2004