VBA - Find avec critère

thebenoit59

XLDnaute Accro
Bonjour tout le monde.

Je vous joins mon fichier de travail.
Je souhaite appliquer des formules automatiquement à mon devis, il n'y a que les formules de sous totaux qui me posent des difficultés.

En effet, nous avons une hiérarchie, niveau 2, 4, 6 et 11. Pour le 11, pas besoin de sous total.
Les sous totaux doivent s'appliquer entre les niveaux directement également ou inférieur.

En résumé, un sous total de niveau 2 se fera entre ces deux titres exclusivement.
De niveau 4 entre deux niveaux 4 ou 2. Dans le fichier le sous total ligne 3 jusqu'à la ligne 16 incluse.
De niveau 6 entre niveaux 6, 4, 2.

Je vous souhaite une bonne journée.
 

Pièces jointes

  • En cours - Listbox.xlsm
    77.7 KB · Affichages: 39
  • En cours - Listbox.xlsm
    77.7 KB · Affichages: 38

thebenoit59

XLDnaute Accro
Re : VBA - Find avec critère

J'ai trouvé une solution pour répondre à mon problème.
Au lieu de m'entêter à utiliser la fonction .Find, je me suis penchée sur une boucle.
Et effectivement cela répond à ma demande et établie correctement mes formules.
Pour les personnes qui pourraient être intéressées je dépose le code ci-dessous :

' Formule sous-total d'un sous-chapitre
If Cells(Formulelignes, 3) = 6 Then
Set plage = Range("C" & Formulelignes + 1, "C" & DernièreLigneFormule)
For Each cell In plage
If cell.Value > 0 And cell.Value <= 6 Then ' Recherche la condition pour laquelle la cellule C est comprise entre 1 et 6
MsgBox cell.Row
Range("N" & Formulelignes).FormulaLocal = "=sous.total(9;N" & Formulelignes + 1 & ":N" & cell.Row & ")" ' Applique la formule du sous-total
Exit For ' Quitte la boucle si la valeur a été trouvée
Else: Range("N" & Formulelignes).FormulaLocal = "=sous.total(9;N" & Formulelignes + 1 & ":N" & DernièreLigneFormule & ")" ' Si aucune valeur n'a été trouvée dans la plage, nous appliquons le sous total jusqu'à la dernière ligne du devis
End If
Next cell
End If
 

Discussions similaires

Réponses
7
Affichages
343

Statistiques des forums

Discussions
312 169
Messages
2 085 928
Membres
103 045
dernier inscrit
AP78