Recherche et affectation d'une valeur dans un tableau
Résolu
Barahaoua
Messages postés
105
Statut
Membre
-
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