IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Référence absolue des cellules non fixe


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Assistant Caisse Centrale
    Inscrit en
    Octobre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Assistant Caisse Centrale

    Informations forums :
    Inscription : Octobre 2018
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Référence absolue des cellules non fixe
    Bonjour tout le monde,
    Je ne sais pas si le titre de ma discussion est très claire
    J'ai un classeur Fréquentation avec une macro qui permet d'ouvrir et d'actualiser des données sur le classeur Auto_Freq_Irec_v2
    Une fois que la macro a terminé l'actualistation, mon tableau Fréquentation va chercher des données dans le tableau Aut_Freq_Irec_v2 grâce à des formules Index.Equiv sous forme matricielle. Exemple pour la cellule L57 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {=SIERREUR(INDEX([Auto_Freq_Irec_v2.xlsm]RecopieValeur!$F$2:$F$457;EQUIV($L$2&A57;[Auto_Freq_Irec_v2.xlsm]RecopieValeur!$D$2:$D$457&[Auto_Freq_Irec_v2.xlsm]RecopieValeur!$E$2:$E$457;0));0)}
    La formule ci dessus est la formule d'origine.
    Or quand j'actualise les données du tableau Auto_Freq_Irec_v2, les références absolues de la formule se décale de 2 colonnes et la formule devient donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {=SIERREUR(INDEX([Auto_Freq_Irec_v2.xlsm]RecopieValeur!$H$2:$H$457;EQUIV($L$2&A57;[Auto_Freq_Irec_v2.xlsm]RecopieValeur!$F$2:$F$457&[Auto_Freq_Irec_v2.xlsm]RecopieValeur!$G$2:$G$457;0));0)}
    Et cela ainsi de suite à chaque fois que je lance ma macro d'actualisation.
    Mes formules sont écrites manuellement et ma macro ne fait jamais appel à ces formules. Elle lance uniquement une requête VBA permettant d'actualiser les données importées d'une base de données.

    J'espère que j'aurais réussi à me faire comprendre car j'avoue ne pas comprendre comment des références figées peuvent se décaler comme cela. Peut être que cela est du à la forme matricielle de ma formule ?

    Je vous remercie grandement pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour,

    On ne connaît pas le contenu de la macro d'actualisation ni ce qu'elle fait, mais il y a sûrement une ligne qui provoque ce décalage. Lancez votre en macro en pas à pas(touche F8) et observez ce qui se passe, vous finirez bien par trouver ce qui ne va pas.

    Cdlt

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par cedric6367 Voir le message
    Or quand j'actualise les données du tableau Auto_Freq_Irec_v2, les références absolues de la formule se décale de 2 colonnes
    Sans doute parce que tu fais des insertions/suppressions de cellules/lignes/colonnes.

    Une solution simple : en début de macro, tu places les formules susceptible de bouger dans des variables String en utilisant la propriété Formula (ou une de ses cousines) et en fin de macro, tu fais l'opération inverse.

    La solution de mettre la fonction INDIRECT directement dans les formules ne fonctionnerait pas puisque INDIRECT ne permet pas de gérer les liaisons entre classeurs différents.
    Je ne suis pas sûr non plus (à tester) qu'il soit possible de nommer les cellules pouvant bouger, en utilisant la fonction INDIRECT pour définir la zone d'application du nom. Je ne pense pas (sans certitude) qu'un nom défini dans un classeur soit accessible d'un autre classeur.
    Comme il est souvent dit, Excel n'est pas un outil adapté aux applications multi-fichiers.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Assistant Caisse Centrale
    Inscrit en
    Octobre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Assistant Caisse Centrale

    Informations forums :
    Inscription : Octobre 2018
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Merci
    Merci pour votre aide, mais surtout une immense excuse pour la réponse tardive.
    Quelques petits soucis personnel m'ont éloigné du sujet.
    Encore merci pour votre aide.
    Je m'en vais de ce pas tester vos remarques et conseils

Discussions similaires

  1. [XL-2016] Appel Solveur Excel VBA avec cellules des variables non fixes
    Par TSHITSHI dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/08/2017, 07h58
  2. [XL-2003] action sur des cellules non vides
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/05/2009, 15h33
  3. Somme des cellules non vides en VBA
    Par baldg dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/03/2008, 00h44
  4. Selection des cellules non verrouillées
    Par stounouslous dans le forum Excel
    Réponses: 2
    Dernier message: 01/03/2008, 18h23
  5. Référence relative à des cellules et performances
    Par Tententai dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/08/2007, 17h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo