Problème avec référence circulaire (intentionnelle)

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 !

Excel Rookie

XLDnaute Nouveau
Bonjour,

Cela peut paraître extrêmement simple pour certain mais je ne parvient pas à effectuer une référence circulaire de manière à créer un petit convertisseur.

Je veux simplement avoir le choix d'entrer une valeur en km/h ou en mph et que l'autre case se réajuste automatiquement.

ex:
A5 = cellule pour la vitesse en kilomètres par heure (KM/H)
A6 = cellule pour la vitesse en miles par heures (MPH)

Donc si j'insère "16" en A5, le chiffre "10" apparaîtra en A6.
Et que si j'insère un nouveau chiffre comme "5" en A6, je m'attendrais à voir "8" en A5 (sans commentaire de références circulaires).

Pouvez-vous m'aider ?

Merci
 
Re : Problème avec référence circulaire (intentionnelle)

Bonsoir,

Il peut toujours y avoir une solution VBA, du genre une macro événementielle qui lance un calcul ou un autre en fonction de la cellule qui vient d'être saisie, mais c'est un peu compliqué sauf si tu connais un peu le VBA.

Si non, ce que je ferais (sourire... justement parce que je suis nulle en VBA 😱 ): je contournerais le problème en mettant deux cellules de saisie:

Une saisie en km, et en face ta formule de calcul en miles
Une autre saisie en miles, et en face ta formule de traduction en km

Bonne soirée,

mth
 
Re : Problème avec référence circulaire (intentionnelle)

Bonjour,

Peux-tu mettre un exemple en pièce jointe, bien que je doute fort qu'il soit possible, même avec une itération, de mettre dans une même cellule et une valeur et une formule ?
 
Re : Problème avec référence circulaire (intentionnelle)

Bonjour,

Peux-tu mettre un exemple en pièce jointe, bien que je doute fort qu'il soit possible, même avec une itération, de mettre dans une même cellule et une valeur et une formule ?

Voilà...

En espérant que vous avez les infos nécessaires
 

Pièces jointes

Re : Problème avec référence circulaire (intentionnelle)

Salut à tous !!

Pour rétirer le texte de référence circulaire :

Outils => options => Calcul => coche itération.
tu peux également choisir le nombre maximal d'itération et l'écart maximal.
si tu augmentes l'une et tu diminues l'autre, tu peux inclure une notion de temps dans tes calculs! lol
un petit exemple sympa de simulation de dispersion de température en pièce-jointe.

A plus dans le bus 😀

PS : si tu varies la taille des cases vers le pixel tu peux voir la puissance de ton ordinateur !!
 

Pièces jointes

Re : Problème avec référence circulaire (intentionnelle)

Bonjour à tous
Suite à un message privé de Piluma, je joins un extension de la procédure du message #7 pour traiter non pas deux cellules, mais deux colonnes voisines.
Code:
[COLOR="DarkSlateGray"][B]Private Sub Worksheet_Change(ByVal Target As Range)
Dim oCel As Range
   If Target.Columns.Count = 1 Then
      On Error Resume Next
      Application.EnableEvents = False
      If Target.Column = 1 Then
         For Each oCel In Target.Cells
            If IsNumeric(oCel.Value) And Not IsEmpty(oCel) Then oCel.Offset(0, 1).Value = oCel.Value / 1.609
         Next
      ElseIf Target.Column = 2 Then
         For Each oCel In Target.Cells
            If IsNumeric(oCel.Value) And Not IsEmpty(oCel) Then oCel.Offset(0, -1).Value = oCel.Value * 1.609
         Next
      End If
      Application.EnableEvents = True
      On Error GoTo 0
   End If
End Sub[/B][/COLOR]
ROGER2327
#3631


Mardi 17 Merdre 137 (Saint Saint Woland, professeur, SQ)
15 Prairial An CCXVIII
2010-W22-4T22:28:48Z
 

Pièces jointes

Re : Problème avec référence circulaire (intentionnelle)

Bonjour à tous
Suite à un message privé de Piluma, je joins un extension de la procédure du message #7 pour traiter non pas deux cellules, mais deux colonnes voisines.
Code:
[COLOR="DarkSlateGray"][B]Private Sub Worksheet_Change(ByVal Target As Range)
Dim oCel As Range
   If Target.Columns.Count = 1 Then
      On Error Resume Next
      Application.EnableEvents = False
      If Target.Column = 1 Then
         For Each oCel In Target.Cells
            If IsNumeric(oCel.Value) And Not IsEmpty(oCel) Then oCel.Offset(0, 1).Value = oCel.Value / 1.609
         Next
      ElseIf Target.Column = 2 Then
         For Each oCel In Target.Cells
            If IsNumeric(oCel.Value) And Not IsEmpty(oCel) Then oCel.Offset(0, -1).Value = oCel.Value * 1.609
         Next
      End If
      Application.EnableEvents = True
      On Error GoTo 0
   End If
End Sub[/B][/COLOR]
ROGER2327
#3631


Mardi 17 Merdre 137 (Saint Saint Woland, professeur, SQ)
15 Prairial An CCXVIII
2010-W22-4T22:28:48Z
Merci énormément
 
Re : Problème avec référence circulaire (intentionnelle)

Le code fonctionne bien merci!!
Par contre, quand je fais un copier-coller la conversion ne se fait pas. Ce n'est pas un problème si j'entre peu de données en même temps mais si je désire plusieurs ligne de données il faut tout refaire manuellement.
Merci pour votre aide.
 
Re : Problème avec référence circulaire (intentionnelle)

Re...
Bizarre... Lorsque je colle des données en colonne A (ou en colonne B) la colonne B (ou la colonne A) est mise à jour. J'avoue que je ne vois pas d'où vient votre problème.​
ROGER2327
#3637


Mercredi 18 Merdre 137 (Saint Anal, cordelier et Sainte Foire, anagogue, SQ)
16 Prairial An CCXVIII
2010-W22-5T20:15:10Z
 
Re : Problème avec référence circulaire (intentionnelle)

Re...
Bonjour Piluma

Avez-vous résolu votre problème du message #11 ? Si oui, pouvez-vous dire comment ? (J'aime bien savoir ce qui cloche dans mes réponses : cela me permet d'améliorer les réponses ultérieures.)
ROGER2327
#3664


Lundi 23 Merdre 137 (Interprétation de l'humour, ST)
21 Prairial An CCXVIII
2010-W23-3T14:55:08Z
 
- 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

Retour