Recherche et affectation d'une valeur dans un tableau
Résolu
Barahaoua
Messages postés
88
Date d'inscription
Statut
Membre
Dernière intervention
-
Kuartz Messages postés 852 Date d'inscription Statut Membre Dernière intervention -
Kuartz Messages postés 852 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Recherche et affectation d'une valeur dans un tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
3 réponses
Bonjour,
Pourquoi une macro?
Dans la cellule AO6 :
=SI(AJ6="VRAI";AJ5;SI(AK6="VRAI";AK5;SI(AL6="VRAI";AL5;"")))
Si besoin d'une macro, je peux la fabriquer mais dans ce cas, il va falloir être plus précis sur l'utilité.
Cordialement.
Pourquoi une macro?
Dans la cellule AO6 :
=SI(AJ6="VRAI";AJ5;SI(AK6="VRAI";AK5;SI(AL6="VRAI";AL5;"")))
Si besoin d'une macro, je peux la fabriquer mais dans ce cas, il va falloir être plus précis sur l'utilité.
Cordialement.
Bonjour,
Forcément là, il me manquait quand même pas mal d'infos, notamment le fait que les lignes ne sont pas forcément alignées (les familles je veux dire).
Je vais faire une macro, ce sera plus simple, je reviens vers toi fin de matinée. Par contre, la colonne CORRESPONDANCE n'existe pas sur le fichier?
Cordialement.
Forcément là, il me manquait quand même pas mal d'infos, notamment le fait que les lignes ne sont pas forcément alignées (les familles je veux dire).
Je vais faire une macro, ce sera plus simple, je reviens vers toi fin de matinée. Par contre, la colonne CORRESPONDANCE n'existe pas sur le fichier?
Cordialement.
Re,
Voici le code :
J'ai géré aussi le fait qu'il n'y ait aucune correspondance.
Le fichier : https://www.cjoint.com/c/FGBjymMNXwf
Il suffit de cliquer sur le 2ème bouton :)
Cordialement.
Voici le code :
Option Explicit Sub Code() Dim Trouve As Range, DL As Long, DL2 As Long, Valeur_Cherchee As String, PlageDeRecherche As Range, Ligne As Long, i As Integer, j As Integer Dim Produit_1 As String, Produit_2 As String, Produit_3 As String, Produit_4 As String, Produit_5 As String, Produit_6 As String, OCCURENCE As Boolean DL = Sheets("Qtité Famille").Cells(Application.Rows.Count, 24).End(xlUp).Row DL2 = Sheets("Qtité Famille").Cells(Application.Rows.Count, 1).End(xlUp).Row For i = 6 To DL For j = 6 To DL2 If Range("X" & i).Value = Range("A" & j).Value Then OCCURENCE = True If Str(Sheets("Qtité Famille").Range("E" & j).Value) = "Vrai" Then Produit_1 = "plat1 " Else Produit_1 = "" End If If Str(Sheets("Qtité Famille").Range("F" & j).Value) = "Vrai" Then Produit_2 = "plat2 " Else Produit_2 = "" End If If Str(Sheets("Qtité Famille").Range("G" & j).Value) = "Vrai" Then Produit_3 = "plat3 " Else Produit_3 = "" End If If Str(Sheets("Qtité Famille").Range("H" & j).Value) = "Vrai" Then Produit_4 = "plat4 " Else Produit_4 = "" End If If Str(Sheets("Qtité Famille").Range("I" & j).Value) = "Vrai" Then Produit_5 = "plat5 " Else Produit_5 = "" End If If Str(Sheets("Qtité Famille").Range("J" & j).Value) = "Vrai" Then Produit_6 = "plat6 " Else Produit_6 = "" End If Range("AE" & i) = Produit_1 & Produit_2 & Produit_3 & Produit_4 & Produit_5 & Produit_6 End If Next j If OCCURENCE = False Then Range("AE" & i) = "AUCUNE CORRESPONDANCE" OCCURENCE = False Next i End Sub
J'ai géré aussi le fait qu'il n'y ait aucune correspondance.
Le fichier : https://www.cjoint.com/c/FGBjymMNXwf
Il suffit de cliquer sur le 2ème bouton :)
Cordialement.
Rebonjour Kuartz
est ce que tu peu me voir stp pourquoi j'ai ce beug dans mon fichier
https://www.cjoint.com/c/FGBn3yn3WUh
normalement je veux qu'il me remplis les cellules et ensuite me supprime les lignes vides du tableau
aide moi stp merci
est ce que tu peu me voir stp pourquoi j'ai ce beug dans mon fichier
https://www.cjoint.com/c/FGBn3yn3WUh
normalement je veux qu'il me remplis les cellules et ensuite me supprime les lignes vides du tableau
aide moi stp merci
J'avoue avoir un peu de mal à m'y retrouver, que fait cette partie du code?
Cordialement.
For i = 1 To UBound(tablo, 1) If tablo(i, 1) <> "" Then ReDim Preserve tabloR(7, k + 1) tabloR(0, k) = Range("A" & i + 5) For j = 1 To 8 tabloR(j, k) = tablo(i, j) Next j k = k + 1 End If Next i Range("X6:AD" & derln).ClearContents Range("X6").Resize(UBound(tabloR, 2), 7) = Application.Transpose(tabloR)
Cordialement.
j'ai essayer d'appliquer la formule que tu ma envoyer hier a mon fichier mais malheureusement elle fonctionne pas
normalement dans la colonne AE je dois coller cette formule et que elle me reccupére les Plat qui correspond a chaque famille dans la colonne X
c'est pour cela je me demander est ce que il faut pas le faire en macro ?
=SI(E6:E121="VRAI";E5;SI(F6:F121="VRAI"="VRAI";F5;SI(G6:G121="VRAI"="VRAI";G5;SI(H6:H121="VRAI"="VRAI";H5;SI(I6:I121="VRAI"="VRAI";I5;SI(J6:J121="VRAI"="VRAI";J5;"")))
je te met le lien stp du fichier merci
https://www.cjoint.com/c/FGBh2BYd1Qh