Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Propagation discontinue

  • Initiateur de la discussion Initiateur de la discussion MATLEA
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MATLEA

XLDnaute Occasionnel
Bonjour chers experts,
est-il possible de propager colonnes ou lignes de façon discontinue. Par exemple au lieu d'obtenir à partir de A1: A1, A2, A3 etc obtenir A1, A3, A5 etc Voir fichier joint.
Merci pour vos avis et solutions.
 

Pièces jointes

Comment transposer la formule à d'autres situations sans toto et à d'autres positions que A1?
Voyez le fichier joint et cette macro :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim pas, dercel As Range, P As Range
If IsEmpty(Target(1)) Then Exit Sub
Cancel = True
pas = 2 'à adapter
Set dercel = Target(1).End(xlDown)
If IsEmpty(dercel(0)) Then Set dercel = Target(1)
Set P = Range(Target(1), dercel)
With P(1, 2).Resize(Application.Ceiling(P.Count / pas, 1))
    .Formula = "=OFFSET(" & P(1).Address & "," & pas & "*(ROW()-" & P(1).Row & "),)"
    .Value = .Value 'facultatif, supprime les formules
End With
End Sub
Double-clic sur la 1ère cellule d'une liste.
 

Pièces jointes

Dernière édition:
Merci job 75, ca marche très bien dans votre fichier.
Pouvez-vous me dire comment intégrer la macro dans mon fichier de travail?

Merci
 
Bonjour MATLEA, le forum,

J'ai corrigé la macro du post #17 avec Application.Ceiling, [Edit] j'ai aussi intégré la variable pas dans la formule.
Pouvez-vous me dire comment intégrer la macro dans mon fichier de travail?
Fichier de travail ? Le dernier fichier que vous avez fourni est celui du post #13.

Il suffit de le convertir en .xlsm et coller la macro dans le code de la feuille.

A+
 

Pièces jointes

Dernière édition:
Merci ca fonctionne
Mouais... Celle-ci fonctionne mieux :

=FILTRE(C17:C33;SI(EST.PAIR(LIGNE(C17));EST.PAIR(LIGNE(C17:C33));EST.IMPAIR(LIGNE(C17:C33))))

et si LET fonctionne avec Excel 2021 :

=LET(tbl;B4:B20;l;LIGNE(tbl);FILTRE(tbl;SI(EST.PAIR(PRENDRE(l;1));EST.PAIR(l);EST.IMPAIR(l))))

Oups, PRENDRE n'est pas disponible avec Excel 2021 donc :

=LET(tbl;B4:B20;l;LIGNE(tbl);FILTRE(tbl;SI(EST.PAIR(LIGNE(DECALER(tbl;;;1)));EST.PAIR(l);EST.IMPAIR(l))))

Ce qui permet de ne définir la plage qu'une seule fois.

Daniel
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
16
Affichages
216
Réponses
10
Affichages
318
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…