Bonjour,
J'ai un souci avec une macro
Je tape la formule suivante dans la cellule >> =@SI($H$1>=18;"";derligne(I13;"Taille"))
La macro doit aller chercher la dernière valeur 2 dans un tableau, mais si c'est 1 , il ne doit renvoyer, la cellule doit être vide.
Dans un tableau, je saisi un article dont la quantité et de 2 ou 1, si la dernière cellule du tableau est 2 , il renvoie 2 , si la dernière cellule est 1 , la cellule doit renvoyer vide.
Avec cette macro , il revoit 2 et ne prend pas la dernière cellule, elle n'est prise en compte, elle la saute et va chercher le dernier 2.
Que dois je rejouter pour qu'il prenne en compte la toute dernière cellule ?
Function derligne(valeur, article)
Application.Volatile
'initialisation
Carte = ThisWorkbook.Names("Carte").RefersToRange.Value 'numéro de carte trouvé dans les cellules nommées
Set tableau = Sheets("base").ListObjects("T_base") 'Définit le tableau
colquant = tableau.ListColumns("Quantité prise").DataBodyRange.Column ' numéro de la colonne ou trouver la date
colCarte = tableau.ListColumns("N° de carte + prénom").DataBodyRange.Column ' numéro de la colonne ou trouver le numéro de carte
For Each i In tableau.ListColumns(article).DataBodyRange 'pour chaque lignes de la colonne du tableau
'MsgBox i.Parent.Cells(i.Row, colcarte) & "/" & i & "/" & i.Parent.Cells(i.Row, colquant)
'trim supprime les espaces avant et après
'ucase convertit tout en majuscule
'si i = la valeur et que le numéro de carte correspond
If Trim(UCase(i)) = valeur And i.Parent.Cells(i.Row, colCarte) = Carte And i.Parent.Cells(i.Row, colquant) = 2 Then
derligne = 2
End If
Next
If derligne = 0 Then derligne = ""
End Function
J'ai un souci avec une macro
Je tape la formule suivante dans la cellule >> =@SI($H$1>=18;"";derligne(I13;"Taille"))
La macro doit aller chercher la dernière valeur 2 dans un tableau, mais si c'est 1 , il ne doit renvoyer, la cellule doit être vide.
Dans un tableau, je saisi un article dont la quantité et de 2 ou 1, si la dernière cellule du tableau est 2 , il renvoie 2 , si la dernière cellule est 1 , la cellule doit renvoyer vide.
Avec cette macro , il revoit 2 et ne prend pas la dernière cellule, elle n'est prise en compte, elle la saute et va chercher le dernier 2.
Que dois je rejouter pour qu'il prenne en compte la toute dernière cellule ?
Function derligne(valeur, article)
Application.Volatile
'initialisation
Carte = ThisWorkbook.Names("Carte").RefersToRange.Value 'numéro de carte trouvé dans les cellules nommées
Set tableau = Sheets("base").ListObjects("T_base") 'Définit le tableau
colquant = tableau.ListColumns("Quantité prise").DataBodyRange.Column ' numéro de la colonne ou trouver la date
colCarte = tableau.ListColumns("N° de carte + prénom").DataBodyRange.Column ' numéro de la colonne ou trouver le numéro de carte
For Each i In tableau.ListColumns(article).DataBodyRange 'pour chaque lignes de la colonne du tableau
'MsgBox i.Parent.Cells(i.Row, colcarte) & "/" & i & "/" & i.Parent.Cells(i.Row, colquant)
'trim supprime les espaces avant et après
'ucase convertit tout en majuscule
'si i = la valeur et que le numéro de carte correspond
If Trim(UCase(i)) = valeur And i.Parent.Cells(i.Row, colCarte) = Carte And i.Parent.Cells(i.Row, colquant) = 2 Then
derligne = 2
End If
Next
If derligne = 0 Then derligne = ""
End Function