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

Range("A1").precedents

  • Initiateur de la discussion Initiateur de la discussion tbft
  • 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 !

tbft

XLDnaute Accro
Bonjour

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?

D'avance merci.
 
Re : Range("A1").precedents

Bonjour tbft, le forum,


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
a+
 
Dernière édition:
Re : Range("A1").precedents

@romain
Merci beaucoup pour ton aide

comment exploiter cette collection?
avec un for each peut être?

As tu fais un essai avec avec une formule dont un des éléments provient d'un autre folio?
 
Re : Range("A1").precedents

Re bonjour,

As tu fais un essai avec avec une formule dont un des éléments provient d'un autre folio?

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.

a+
 
Re : Range("A1").precedents

Re,

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.

a+
 
Re : Range("A1").precedents

Re,

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?

D'avance merci
 
Re : Range("A1").precedents

Re...
Re

Y a personne pour me dire comment atteindre les cellules qui n'appartiennent pas à la feuille sur lequel est posé la formule????????
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
 
Re : Range("A1").precedents

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
 
Dernière édition:
Re : Range("A1").precedents

Re...
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
 
Re : Range("A1").precedents

Bonsoir

Merci tout le monde pour votre aide
@ROGER merci beaucoup pour avoir répondu à mon appel.

J'y suis arrivé en prenant le probleme en sens inverse....
J'utilise la propriété DirectDependents
Je mets le code de ma macro demain matin promis...
 
Dernière édition:
Re : Range("A1").precedents

Bonjour

Comme promis voici le code que j'utilise
VB:
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

Discussions similaires

Réponses
3
Affichages
255
Réponses
15
Affichages
779
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…