nouveau problème de macro de recherche...

  • Initiateur de la discussion Initiateur de la discussion gwad063
  • 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 !

gwad063

XLDnaute Nouveau
Bonjour à tous,

Je m'adresse à vous car j'ai un nouveau problème de macro à résoudre : j'ai essayer de créer une macro qui compare les valeurs de la colonne B de la feuille "Transactions par rôle" de mon fichier Excel "Proposition finale données de base version 1" aux valeurs de la colonne B de mon fichier Excel "Donnees_de_base"...
Lorsqu'elle la trouve, elle vient mettre le nom de cette valeur trouvée dans la colonne A de la feuille "Transactions Donnees de base" de mon fichier "Proposition finale données de base" et dans la colonne B de cette même feuille, la valeur correspondante (qui est en fait la valeur texte dans la colonne A de mon fichier "Donnees_de_base")...l'incrémentation venant se faire à partir de la 2ème ligne, la 1ère étant réservée à l'entête de mon tableau...
Voilà pour les infos, j'espère que vous avez réussi à suivre.
J'ai déjà réalisé une macro à partir d'un modèle qui m'avait été proposé pour résoudre un autre problème de recherche (merci bqtr...); mon problème, c'est qu'elle marche pas et je sais pas trop d'où provient mon/mes erreurs vu qu'elle "tourne" mais ne vient pas mettre les valeurs dans ma feuille "Transaction données de base" (elle s'arrête vers la 9ème ligne)...
Voilà à quoi ça ressemble :

Option Explicit

Private Sub CommandButton1_Click()

Dim cell As Range, k As Long, I As Long
Dim Wb2 As Workbook
Dim Ws As Worksheet

Application.ScreenUpdating = False
Application.DisplayStatusBar = True
Application.StatusBar = "Traitement en cours, veuillez patienter..."

Workbooks.Open Filename:=ThisWorkbook.Path & "\Donnees_de_base.xls"
Workbooks("Proposition finale données de base version 1.xls").Activate
Set Wb2 = Workbooks("Donnees_de_base.xls")
Set Ws = Wb2.Sheets("Master Datas")
Sheets("Transactions Données de Base").Range("A2:B" & Sheets("Transactions Données de Base").Range("A65536").End(xlUp).Row + 1) = ""
k = Sheets("Transactions Données de Base").Range("A65536").End(xlUp).Row + 1
For I = 2 To Range("B65536").End(xlUp).Row
For Each cell In Ws.Range("B2:B" & Ws.Range("B65536").End(xlUp).Row)
If Range("B" & I) = cell Then
With Sheets("Transactions Données de Base")
.Cells(k, 1) = Range("B" & I)
.Cells(k, 2) = Ws.Cells(cell.Offset(0, 0).Row, cell.Offset(0, -1).End(xlUp).Column).Value
End With
k = k + 1
Else
I = I + 1
End If
Next
Next
Sheets("Transactions Données de Base").Activate
Application.StatusBar = False
Application.ScreenUpdating = True
End Sub

Mon erreur vient (à priori) du fait que ma macro compare la valeur la ligne 2 de ma feuille 1 à la ligne 2 de ma feuille 2, ligne 3 avec la ligne 3, etc...elle ne balaie pas l'intégralité de la plage et j'aimerai bien comprendre pourquoi...Si quelqu'un peut me donner quelques explications...
En pièce jointe, les 2 fichiers...
Merci par avance...
 

Pièces jointes

Re : nouveau problème de macro de recherche...

Bon, je sais que j’en demande beaucoup vu le nombre de post déjà présents sur le sujet ; je vais continuer à chercher de mon côté pourquoi ça ne marche pas comme je le souhaite…
Malgré tout, si une âme charitable passe par là et peut me donner quelques tuyaux, je suis toujours preneur 😀;
Bonne aprem ; @ +
Alex.

P.S.: Quoiqu’il en soit, c’est aussi l’occasion pour moi de dire à quel point ce forum (et les gens qui le font vivre) m’a apporté depuis que je viens le consulter; donc merci encore.
 
Re : nouveau problème de macro de recherche...

Bonsoir

Bonjour à tous,

une macro qui compare les valeurs de la colonne B de la feuille "Transactions par rôle" de mon fichier Excel "Proposition finale données de base version 1" aux valeurs de la colonne B de mon fichier Excel "Donnees_de_base"...


Sheets("Transactions Données de Base").Range("A2:B" & Sheets("Transactions Données de Base")
k = Sheets("Transactions Données de Base")
With Sheets("Transactions Données de Base")



Merci par avance...
Dans la macro on ne trouve pas cette feuille "Transactions par rôle"

JP
 
- 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

Réponses
8
Affichages
233
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
10
Affichages
281
Réponses
3
Affichages
194
Retour