XL 2019 Fonction Decaler

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 !

kikililou

XLDnaute Nouveau
Help Help Help !!!
Depuis ce matin je n'arrive pas à utiliser cette fonction si pratique !!
Je souhaiterai que mes stocks et besoins s'inscrivent automatiquement en fonction de l’unité que je choisie en cellule B1....
Je m'arrache les cheveux ...

Je sais que je vais bien trouver une âme charitable pour m'expliquer mon erreur ....
 

Pièces jointes

Mais si le but était dans Folha1 de recopier les tableaux des feuilles en fonction de la liste déroulante alors il y a plus simple avec INDIRECT.
VB:
=INDIRECT($B$1&"!B"&LIGNE()+1)
Indirect reconstruit l'adresse de la cellule.
Ainsi si B1=HP alors =INDIRECT($B$1&"!B"&LIGNE()+1) devient =HP!B4.
 

Pièces jointes

Mais si le but était dans Folha1 de recopier les tableaux des feuilles en fonction de la liste déroulante alors il y a plus simple avec INDIRECT.
VB:
=INDIRECT($B$1&"!B"&LIGNE()+1)
Indirect reconstruit l'adresse de la cellule.
Ainsi si B1=HP alors =INDIRECT($B$1&"!B"&LIGNE()+1) devient =HP!B4.
C'est exactement ça que je souhaitais faire...
Par contre, dès que je renomme les feuilles, il s'inscrit dans la cellule #REF !
 
Bojour kikililou, sylvanu, soan,
Mais tu vois quand je modifies le nom des feuilles certaines dellules sont idiquées #REF !
Pour l'éviter il faut du VBA, voyez le fichier joint et cette macro dans le code de la 1ère feuille :
VB:
Private Sub Worksheet_Calculate()
If Worksheets.Count = 1 Then Exit Sub
Dim a$(), i%
ReDim a(1 To Worksheets.Count - 1, 1 To 1)
For i = 2 To Worksheets.Count
    a(i - 1, 1) = Worksheets(i).Name
Next
Application.EnableEvents = False
With [L2]
    .Resize(i - 2) = a
    .Resize(i - 2).Name = "Liste"
    .Offset(i - 2).Resize(Rows.Count - i - .Row + 3).ClearContents
End With
If IsError(Application.Match([B1], [Liste], 0)) Then [B1] = [Liste].Cells(1) '1ère valeur
Application.EnableEvents = True
End Sub
Grâce aux formules avec INDIRECT qui sont volatiles la macro se déclenche chaque fois que des cellules se recalculent.

Pour tester modifiez le nom des feuilles.

A+
 

Pièces jointes

- 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

  • Question Question
Réponses
2
Affichages
841
Retour