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 :

Figer un cellule ciblée par une formule même après insertion [XL-2013]


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    xxxx
    Inscrit en
    Janvier 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : xxxx

    Informations forums :
    Inscription : Janvier 2018
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Figer un cellule ciblée par une formule même après insertion
    Bonjour,

    J'utilise un formulaire VBA pour créer une base de données et insérer les nouvelles donnée en haut de la base de données soit entre la ligne 1 et la ligne 2.

    Base de données :

    un tableau 13 colonnes
    en ligne 1 les étiquettes avec application d'un filtre
    en ligne 2 insertion des nouvelles entrées

    Dans un autre tableau mes formules reprennent cette base de données pour effectuer leurs calculs.

    Mon problème est que à chaque nouvelle insertion faite par mon formulaire en ligne 2, toute mes formules décale leur plage d'une ligne vers le bas alors que je verrouille la cellule ciblée dans ma formule (ex : avant insertion ... $B2:$B$53 ... après insertion $B3:$B$54).

    Est-il possible de figer définitivement la cellule B2 dans la formule ou d'obtenir le même résultat avec un autre moyen ?

    Cordialement

    Anthony

  2. #2
    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 Thonio64 Voir le message
    Mon problème est que à chaque nouvelle insertion faite par mon formulaire en ligne 2, toute mes formules décale leur plage d'une ligne vers le bas alors que je verrouille la cellule ciblée dans ma formule (ex : avant insertion ... $B2:$B$53 ... après insertion $B3:$B$54).
    Le verrouillage par $ verrouille l'adresse si on déplace la cellule dans laquelle se trouve la formule.
    En revanche, si on déplace la cellule cible, la référence la suit, qu'il y ait $ ou pas.

    Tu pourras faire le test "à la main" dans Excel et constater ce phénomène.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Contrôleur de gestion en activité
    Inscrit en
    Juillet 2012
    Messages
    544
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Contrôleur de gestion en activité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 544
    Points : 935
    Points
    935
    Par défaut
    Bonjour,

    il y a plusieurs pistes.

    Sur Excel, la fonction indirect =indirect("B2") renverra toujours la valeur de B2, quoi que l'on fasse.

    Sur VBA, il est possible de passer par range(cells(2,2)) par exemple pour B2.

    Cdlt,

    SM

  4. #4
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    ... toute mes formules décalent leur plage d'une ligne vers le bas alors que je verrouille la cellule ciblée dans ma formule (ex : avant insertion ... $B2:$B$53 ... après insertion $B3:$B$54).
    Une autre piste avec la fonction DECALER et une formule du genre :
    = .... DECALER($B$1;1;0;NBVAL($B:$B)-1;1)...
    ou
    = .... DECALER($B$1;1;0;NB($B:$B);1)... si les données entrées en colonne B sont numériques, l'étiquette en B1 étant du texte.
    Cordialement
    Claude

  5. #5
    Candidat au Club
    Homme Profil pro
    xxxx
    Inscrit en
    Janvier 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : xxxx

    Informations forums :
    Inscription : Janvier 2018
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Merci pour vos solutions.

    Je vais faire des tests sur mon fichier.

  6. #6
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour,

    Une autre possibilité : Ligne 2 vierge et masquée, insère avant la ligne 3
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  7. #7
    Candidat au Club
    Homme Profil pro
    xxxx
    Inscrit en
    Janvier 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : xxxx

    Informations forums :
    Inscription : Janvier 2018
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Désole pour mon retard

    Merci pour vos réponses.

    La fonction DECALER a résolue mon problème.

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplacer la valeur d'une cellule par une formule
    Par Babar09 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 24/08/2017, 09h20
  2. [XL-2013] Selectionner une cellule par une formule
    Par GillesBZH dans le forum Excel
    Réponses: 2
    Dernier message: 22/03/2017, 15h52
  3. [XL-2010] attribuer une valeur à une cellule par une formule.
    Par __NR_nass dans le forum Excel
    Réponses: 6
    Dernier message: 07/11/2016, 01h03
  4. Executer une macro si la valeur d'une cellule change par une formule
    Par billard-man dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/01/2015, 21h25
  5. Macro évènementielle valeur de la cellule donnée par une formule
    Par Kestion100 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/07/2014, 08h48

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