Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Serait il possible de m'éclairer sur le fonctionnement de cette propriété,svp?
Comment fait on pour l'exploiter?
Est ce qu'il faut faire quelque chose avant et/ou après?
Après quelques essais, cette propriété semble renvoyer une collection contenant les cellules utilisées dans la formule de la cellule testée.
edit:
Voici un code exemple pour exploiter cette propriété :
VB:
Sub Test()
Dim antecedents As Range, curCell As Range, message As String
'récupérer les cellules utilisées dans la formule contenue en A1
Set antecedents = Range("A1").Precedents
message = antecedents.Cells.Count & " cellule()s utilisée(s) dans la formule de A1." & vbNewLine
'boucler sur chacune d'elles
For Each curCell In antecedents.Cells
message = message & vbNewLine & curCell.Address(False, False)
Next curCell
MsgBox message
End Sub
Tu trouveras un exemple avec une boucle For Each dans le post précédent. Par contre, je n'ai pas testé avec une formule dont un des éléments provient d'un autre fichier.
Moi j'ai essayé avec des formules dont les sources proviennent du même classeur mais pas de la même feuille....et et et rien...
regarde,stp, avec cet exemple et dis moi où je déconne....
Il ne semble pas y avoir d'erreurs.
J'ai refait un test avec une formule faisant référence à des cellules de la même feuille et d'autres feuilles ; Precedents semble ne renvoyer que les cellules de la même feuille.
J'essaye de prendre le probleme dans l'autre sens avec DirectDependents.
Mais je bloque quand DirectDependents me renvoi qu'il n'y a pas de cellule...
comment faire le test DirectDependents is nothing?
Suite à votre message privé : je n'ai pas de réponse immédiate.
Ce qui est sûr, c'est que l'aide sur la propriété Precedents est inexacte.
Cette propriété renvoie un objet Range qui représente tous les antécédents d'une cellule. Il peut s'agir d'une sélection multiple (une union d'objets Range) s'il existe plusieurs antécédents.
Comme l'a dit plus haut mromain, cette propriété renvoie un objet Range qui représente les antécédents éventuels dans la même feuille qu'une cellule, et non pas "…tous les antécédents…".
Mais vous pouvez nous en dire plus sur ce que vous voulez obtenir en fournissant une exemple concret (un petit classeur avec la problématique exact, par exemple).
On trouvera alors (peut-être…) un moyen de contourner cette limitation de la propriété Precedents.
ROGER2327 #4536
Samedi 14 As 138 (Saint Pierre Bonnard, peintre des Phynances, SQ) 26 Brumaire An CCXIX 2010-W46-2T16:59:24Z
Bonsoir tout le fil,
Une petite proposition pour ma participation.
J'ai compris qu'il faut trouver l'adresse des formules qui touchent à une autre feuille.
Bruno
Code:
For Each c In ActiveSheet.Cells.SpecialCells(-4123)
If c.Formula Like "*!*" Then MsgBox c.Address
Next
C'est effectivement une piste, mais la référence à une cellule peut se faire aussi avec une plage nommée. Dans ce cas, on ne trouvera pas de point d'exclamation. C'est pourquoi je souhaiterais que notre ami précisât le contexte exact de son problème…
ROGER2327 #4538
Samedi 14 As 138 (Saint Pierre Bonnard, peintre des Phynances, SQ) 26 Brumaire An CCXIX 2010-W46-2T17:35:42Z
Cellules.ShowDependents True
Cellules.ShowDependents
Set Cellule = Cellules.NavigateArrow(False, 1, 1)
If Cellule.Parent.Name = Cellules.Parent.Name Then Cellules.ShowDependents True: Exit Sub
'trucs à faire
Cellules.ShowDependents True
- 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