Comparer 2 colonnes et ressortir une MsgBox
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je compare deux colonnes, cependant une fois la comparaison faite je voudrai avoir une MsgBox avec seulement ce qui a été modifié.
Est-il possible s'il vous plaît d'avoir un petit coups d'mail ?
Voici le code qui compare les colonnes :
Merci d'avance
Je compare deux colonnes, cependant une fois la comparaison faite je voudrai avoir une MsgBox avec seulement ce qui a été modifié.
Est-il possible s'il vous plaît d'avoir un petit coups d'mail ?
Voici le code qui compare les colonnes :
Option Explicit ' constantes à adapter à ton fichier ' Feuille 1 Const F1 = "Données" ' nom Const lidebF1 = 2 ' premiere ligne des données Const coF1 = 1 ' colonne des données Const coresF1 = 1 ' colonne pour le résultat (en principe ce sera coF1) ' Feuille 2 Const F2 = "Données" ' nom Const lidebF2 = 2 ' premiere ligne des données Const coF2 = 4 ' colonne des données Sub AnalysePing() ' ' AnalysePing Macro ' ' Workbooks.OpenText Filename:="Chemin\\Ping.txt", Origin:= _ xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, _ Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), _ Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _ Array(9, 1), Array(10, 1), Array(11, 1)), TrailingMinusNumbers:=True Range("A3:A144").Select Selection.Copy Application.DisplayAlerts = False Windows("Problèmes.xlsm").Activate Range("D2:D143").Select ActiveSheet.Paste Windows("Ping.txt").Activate ActiveWindow.Close Application.DisplayAlerts = True Dim liF2 As Long, lifinF2 As Long, vF2, liF1 As Long, vF1 With Sheets(F2) lifinF2 = .Cells(Rows.Count, coF2).End(xlUp).Row For liF2 = lidebF2 To lifinF2 vF2 = .Cells(liF2, coF2).Value liF1 = lidebF1 + liF2 - lidebF2 vF1 = Sheets(F1).Cells(liF1, coF1).Value If vF1 = 1 Then Sheets(F1).Cells(liF1, coresF1).Value = vF1 Else Sheets(F1).Cells(liF1, coresF1).Value = vF2 End If Next liF2 End With End Sub
Merci d'avance
A voir également:
- Comparer 2 colonnes et ressortir une MsgBox
- Faire 2 colonnes sur word - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Déplacer une colonne excel - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Excel fusionner 2 colonnes nom prénom - Guide
Il y a bien comparaison pourtant via un bouton ! Comme souhaité.
Les colonnes se situe sur la même feuille c'est pour cela.
Ensuite avec une formule ou mise en forme conditionnelle impossible parce que une partie de mes infos se situe dans un fichier texte que j'exporte dans un excel. Pour ensuite faire le comparatif.
J'avais fait une demande ici : https://forums.commentcamarche.net/forum/affich-35502541-comparer-remplacer-vba
Connaissiez-vous un moyen d'afficher les comparaison dans une MsgBox s'il vous plaît ?
Merci d'avance
Je maintiens : ce n'est pas une comparaison où tu exhibes les seules différences entre deux séries de données mais la création d'une troisième série de données à partir de deux séries d'entrée.
En partant sur l'exemple qu'on t'a donné : https://mon-partage.fr/f/0Op1YjMG/
- je suis d'accord que l'import du fichier texte est simplifié par macro ;
- le résultat en colonne G peut être obtenu par macro mais aussi par formule ;
- (3) le code listé dans ce fil modifie la série de données initiale ;
- si (3) est bien ce que tu veux et que tu tiens à afficher une MsgBox, tu peux ajouter
A+
Oui c'est plus ça ;)
Mais ça ne fonctionne pas totalement ^^
Pour que cela soit plus clair voici des fichiers exemples de mon code.
Il y a l'excel avec le code et le fichier texte ou je récupère les données. (Dans le code il faut modifier le chemin du fichier PingResults.txt selon votre emplacement)
https://mon-partage.fr/f/FCJpHTz1/
https://mon-partage.fr/f/GTOUWV3U/
Mon Objectifs est d'afficher dans un MsgBox la colonne B (SITEx) mais seulement pour les lignes ayant changé.
Est-ce que cela est plus clair ? (Pas forcement simple à expliquer)
Merci d'avance
SI j'ai bien compris, ceci peut faire l'affaire... même si je ne vois pas l'intérêt de remplacer les valeurs en colonne A.
C'est exactement ça !!
Merci de votre aide ;)