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

Macros et VBA Excel Discussion :

Fixer cellule cible dans VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    banque
    Inscrit en
    Avril 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : banque

    Informations forums :
    Inscription : Avril 2014
    Messages : 45
    Par défaut Fixer cellule cible dans VBA
    Bonjour,

    Je suis sur VBA et j'aimerais savoir comment faire pour fixer une cellule où je colle un contenu, c'est à dire que ma macro supprime mes anciennes lignes présentes va chercher les mises à jour dans un tableau et colle le contenu dans la cellule d'origine. Le seul souci c'est que j'ai 3 tableau par colonne donc s'il y a une valeur de plus dans le premier tableau ca décale donc les cellules de dessous mais VBA colle toujours mes données dans la cellule que j'ai spécifié à la base(ici "A12") alors que s'ils y a des lignes en plus dans le premier tableau la cellule "A12" est déja prise par une valeur du premier tableau.

    Pouvez-vous m'aider, SVP?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Range("A12").Select
        Range(Selection, Selection.End(xlToRight)).Select
        Range(Selection, Selection.End(xlDown)).Select
        Application.CutCopyMode = False
        Selection.Delete Shift:=xlUp
     
        Windows("PORTEFEUILLE PRGE_Liste des PM_032014.xlsm").Activate
        Sheets(4).Select
        Range("A1").Select
        Range(Selection, Selection.End(xlToRight)).Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
        Windows("organigramme test.xlsm").Activate
        Sheets("REPARTITION PART 1").Select
        Range("A12").Select
        Selection.Insert Shift:=xlDown

  2. #2
    Membre averti
    Femme Profil pro
    banque
    Inscrit en
    Avril 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : banque

    Informations forums :
    Inscription : Avril 2014
    Messages : 45
    Par défaut Pas de solution
    Y a-t-il une solution à ce problème, qui permettrait de décaler vers le bas l'insertion s'il s'avérait que d'autres lignes étaient ajoutées dans les tableaux du dessus?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 237
    Par défaut
    Une idée un peu bourrin, mais qui m’a souvent sorti de mauvais pas :
    Vous faites la manip dans Excel en enregistrant une macro et ensuite vous analysez et améliorez le code VBA.
    Bonne journée,
    Henri

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    ce n'est pas bourrin du tout, c'est même ce qui est préconisé !
    L'Enregistreur de macros offrant une base de code, pourquoi s'en priver ?!

    Même des programmeurs VBA chevronnés s'en servent même s'il vaut mieux ensuite optimiser le code ainsi généré …


  5. #5
    Membre averti
    Femme Profil pro
    banque
    Inscrit en
    Avril 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : banque

    Informations forums :
    Inscription : Avril 2014
    Messages : 45
    Par défaut
    Document ex.docxDocument ex.docx

    Bonjour, merci beaucoup pour votre réponse, justement c'est ce que je fais j'ai enregistré ma macro avec l'enregistreur de macro et donc je clique sur la cellule ou je veux que le tableau s'implemante puis je fais un coller, cependant VBA garde la valeur de la cellule ou j'ai cliqué comme référence mais mon fichier source qui alimente mes tableaux sont variants donc il y aura par la suite plus ou moins de ligne dans chacun de mes tableaux et cela pose probleme quand VBA collera alors les données actualisées dans ma cellule de référence, je voudrais qu'il décale mes tableaux d'autant de lignes que de nouvelles valeurs dans les tableaux du dessus.

    Dans le document joint mes valeurs de référence pour le "coller" par tableau sont A2, puis A12, puis A21.

    VBA met à jour mes valeurs puis supprime les anciennes dans mon premier tableau et vient coller les nouvelles données en A2, puis de même avec le deuxième tableau et vient copier les données en A12...

    Merci d'avance pour votre aide
    Très cordialement

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Au lieu de chercher les A2, A12, si tu regarde bien chaque première cellule contient poste XXX
    En principe, les actions de supprimer des lignes ou d'en ajouter ne posera pas de problème. Il suffit de chercher la cellule contenant poste N° désiré et de copier après ce que tu veux

Discussions similaires

  1. Insérer une formule dans une cellule Excel via VBA
    Par *.Har(d)t dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/02/2020, 13h02
  2. mettre les cellules CSV dans VBA
    Par mathleroyal dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 21/02/2013, 12h31
  3. [VBA-E] écrire dans un range de cellules excel depuis VBA
    Par pro64 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/03/2007, 17h22
  4. [VBA-E]Instancier une plage de cellules prises dans plusieurs feuilles
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 14/03/2007, 12h08
  5. Création liste dans cellules Excel en VBA
    Par yazoo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/04/2005, 14h46

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