Déclaration d'une plage de deux cellules string
Résolu
DrFoZz
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
DrFoZz Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
DrFoZz Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je suis nouveau sur ce forum...et sur VBA aussi :D
Je bloque sur un bout de mon programme...
Je n'arrive pas à chercher ma plage de donnée (composée de deux cellules type string) sur des tableaux de deux feuilles différentes.
Les lignes "Set PlageDeRecherche" (deux au total) bloquent la macro.
Merci pour votre aide
Voila le bout du programme:
Je bloque sur un bout de mon programme...
Je n'arrive pas à chercher ma plage de donnée (composée de deux cellules type string) sur des tableaux de deux feuilles différentes.
Les lignes "Set PlageDeRecherche" (deux au total) bloquent la macro.
Merci pour votre aide
Voila le bout du programme:
Sub Comparer_Nom_Metal(Num_row As Integer) Dim ligne_find_CFSI As Integer Dim ligne_find_all As Integer Dim Trouve As Range Dim PlageDeRecherche_CFSI As Range Dim PlageDeRecherche_Existant As Range Dim Chercher_Nom_Metal_Analyse As String 'Valeur cherchee Chercher_Nom_Metal_Analyse = Range("A" & Num_row) + Range("C" & Num_row).Value 'Recherche dans valide CFSI Set PlageDeRecherche_CFSI = Worksheets("Valide CFSI").Columns(1) + Worksheets("Valide CFSI").Columns(3) Set Trouve = PlageDeRecherche_CFSI.Cells.Find(what:=Chercher_Nom_Metal_Analyse, LookAt:=xlWhole ligne_find_CFSI = PlageDeRecherche_CFSI.Cells.Find(what:=Chercher_Nom_Metal_Analyse, LookAt:=xlWhole).Row 'Si on ne trouve rien : If Trouve Is Nothing Then 'Recherche dans all (ceux déjà existant) Set PlageDeRechercheExistant = Worksheets("all").Columns(1) + Worksheets("all").Columns(3) Set Trouve = PlageDeRecherche_Existant.Cells.Find(what:=Chercher_Nom_Metal_Analyse, LookAt:=xlWhole) ligne_find_all = PlageDeRecherche_Existant.Cells.Find(what:=Chercher_Nom_Metal_Analyse, LookAt:=xlWhole).Row 'Si on ne trouve rien, copie du nom attribuer "Smelter not listed" et ajouter If Trouve Is Nothing Then Range("B" & Num_row).Offset(0, 1).Select Range("B" & Num_row) = "Smelter Not Listed" Range("E" & Num_row) = "Not Listed" Range("Q" & Num_row) = "Ajouté" Num_row = Num_row + 1 'Si trouvé, chercher si numéro ID Else 'Si trouvé, copier le numéro et renvoyer à "Comparer_CFSI" If Worksheets("all").Range("E" & ligne_find_all).Value <> "Not Listed" Then Worksheets("all").Range("E" & ligne_find_all).Copy Worksheets("Analyse Smelter").Range("E" & Num_row).Paste Worksheets("all").Range("B" & ligne_find_all).Copy Worksheets("Analyse Smelter").Range("B" & Num_row).Paste Call Comparer_CFSI(Num_row) 'Si non, il est déjà dans la base Else Range("Q" & Num_row) = "OK" Num_row = Num_row + 1 End If End If 'Si il y à un numéro CFSI, le copier et renvoyer à "Comparer CFSI" Else Worksheets("Valide CFSI").Range("E" & ligne_find_CFSI).Copy Worksheets("Analyse Smelter").Range("E" & Num_row).Paste Worksheets("Valide CFSI").Range("B" & ligne_find_CFSI).Copy Worksheets("Analyse Smelter").Range("B" & Num_row, "C" & Num_row).Paste Call Comparer_CFSI(Num_row) End If End Sub
A voir également:
- Déclaration d'une plage de deux cellules string
- Déclaration - Guide
- Concatener deux cellules excel - Guide
- Nombre de jours entre deux dates excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Deux ecran pc - Guide
Je ne connais pas la finalité de ta macro mais avec ce que j'ai compris cela pourrait donner cela :
https://www.cjoint.com/c/DHEkHsl1AUz
C'est ta macro modifiée avec tableau mémoire.
Merci beaucoup :D