fred Simons
XLDnaute Nouveau
Bonsoir le forum et ses illustres utilisateurs,
je continue, lentement, ma compréhension de la gestion des cellules en vba et voici mon probleme. (c'est un peu long mais je sens que la réponse bva etre courte, elle )
Grâce à vous (encore meci a Hervé et charly2), j'ai pu metre au point cette fonction:
en gros, elle cherche, a partir de ma cellule, dans les cellules précédentes de la meme ligne, la première non vide (par saut de "produit", c'est un détail)
maintenant, j'aimerai faire ceci.
autrement dit, quand, pour chaque cellule de ma plages cellules, la valeur n'est ni vide ni ="ok" (donc, c'est une erreur dans mon systeme), je cherche si la valeur précédente était ok. si oui, j'ai une regression dans mon systeme et je fais +1
MAIS, car il y a un mais, ca marche po.
il semble que ma première fonction refuse macellule comme argument par référence, ce qui doit etre le cas.
que dois je faire, Ô grands gourous ?
D'avance merci !
humblement,
fred
je continue, lentement, ma compréhension de la gestion des cellules en vba et voici mon probleme. (c'est un peu long mais je sens que la réponse bva etre courte, elle )
Grâce à vous (encore meci a Hervé et charly2), j'ai pu metre au point cette fonction:
Public Function recherchederniere(produit As Integer, cellule As Range)
Dim i As Integer
Application.Volatile
For i = cellule.Column - produit To 13 Step -produit
If Not Cells(cellule.Row, i) = "" Then
recherchederniere = Cells(cellule.Row, i).Value
Exit Function
End If
Next i
recherchederniere = -1
End Function
en gros, elle cherche, a partir de ma cellule, dans les cellules précédentes de la meme ligne, la première non vide (par saut de "produit", c'est un détail)
maintenant, j'aimerai faire ceci.
Function regression(produit As Integer, cellules As Range )
' produit = le nombre de colonne par version , typiquement 1,2 ou 3
' cellules = la colonne testée
Dim regress As Integer
Dim txt As String
regress = 0
For Each macellule In cellules.Cells
txt = ""
If macellule.Value <> "" and macellule.value <> "ok" Then
txt = recherchederniere(produit, macellule)
If txt = "ok" Then
regress = regress + 1
End If
End If
Next
ergression = regress
End Function
autrement dit, quand, pour chaque cellule de ma plages cellules, la valeur n'est ni vide ni ="ok" (donc, c'est une erreur dans mon systeme), je cherche si la valeur précédente était ok. si oui, j'ai une regression dans mon systeme et je fais +1
MAIS, car il y a un mais, ca marche po.
il semble que ma première fonction refuse macellule comme argument par référence, ce qui doit etre le cas.
que dois je faire, Ô grands gourous ?
D'avance merci !
humblement,
fred