Impression - chaque option liste validation données dynamique
Résolu/Fermé
Yrmouf
Messages postés
126
Date d'inscription
samedi 4 août 2012
Statut
Membre
Dernière intervention
22 septembre 2020
-
Modifié par crapoulou le 27/09/2016 à 16:11
Yrmouf Messages postés 126 Date d'inscription samedi 4 août 2012 Statut Membre Dernière intervention 22 septembre 2020 - 29 sept. 2016 à 16:12
Yrmouf Messages postés 126 Date d'inscription samedi 4 août 2012 Statut Membre Dernière intervention 22 septembre 2020 - 29 sept. 2016 à 16:12
A voir également:
- Impression - chaque option liste validation données dynamique
- Spouleur d'impression - Guide
- Tableau croisé dynamique - Guide
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Option booster free avis - Accueil - Guide opérateurs et forfaits
1 réponse
thev
Messages postés
1943
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
14 janvier 2025
697
Modifié par thev le 27/09/2016 à 20:17
Modifié par thev le 27/09/2016 à 20:17
Bonjour,
Concernant l'utilisation des fonctions DECALER et NBVAL en VBA:
1- la fonction DECALER n'est pas disponible en tant que telle. Elle est remplacée par la propriété Offset d'un objet Range
2- La fonction NBVAL doit être traduite en VBA par COUNTA.
Votre formule n'est donc pas directement utilisable en l'état.
Ci-dessous les instructions que je vous conseille, avec récupération de la cellule de début à partir de votre formule :
Autre code possible plus proche de votre formule
Concernant l'utilisation des fonctions DECALER et NBVAL en VBA:
1- la fonction DECALER n'est pas disponible en tant que telle. Elle est remplacée par la propriété Offset d'un objet Range
2- La fonction NBVAL doit être traduite en VBA par COUNTA.
Votre formule n'est donc pas directement utilisable en l'état.
Ci-dessous les instructions que je vous conseille, avec récupération de la cellule de début à partir de votre formule :
--
Dim cell_début As Range, cell_fin As Range
Set cell_début = Range(Split(Split(Range("L5").Validation.Formula1, "(")(1), ";")(0))
Set cell_fin = cell_début.EntireColumn.Find("*", SearchDirection:=xlPrevious)
For Each rngrotation In Range(cell_début, cell_fin)
Autre code possible plus proche de votre formule
Dim cell_début As Range
Set cell_début = Range(Split(Split(Range("L5").Validation.Formula1, "(")(1), ";")(0))
Set strValidationRange = cell_début.Resize(Application.CountA(cell_début.EntireColumn))
For Each rngrotation In strValidationRange
29 sept. 2016 à 16:12
Je n'ai pas très bien compris la fonction Split mais cela fonctionne bien!
Merci beaucoup :)
Bonne journée