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 :

Nommer une plage de cellules en fonction de la valeur d'une cellule [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Néophite
    Inscrit en
    Juillet 2018
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 6
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Néophite
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2018
    Messages : 51
    Par défaut Nommer une plage de cellules en fonction de la valeur d'une cellule
    Bonjour à tous

    Je voudrais nommer une plage de cellules en fonction de la valeur d'une cellule.

    Ex :
    Ma sélection est Range(ActiveCell, ActiveCell.Offset(38, 1)) et je voudrais donner le nom de ActiveCell.Offset(-2, 0) à cette sélection.


    Quelqu'un peut-il m'aider ?

    Merci par avance


    Cordialement

  2. #2
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Je suis pas sûr que ce soit possible vu que ce sont des mots réservés

    de plus nommer une plage avec un nom aussi nébuleux ne me parrait pas une bonne idée

  3. #3
    Membre averti
    Homme Profil pro
    Néophite
    Inscrit en
    Juillet 2018
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 6
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Néophite
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2018
    Messages : 51
    Par défaut
    Le problème est que mon tableau a été conçu comme ça par d'autres.
    Je crée un salarié, il y a deux colonnes d'une feuille qui lu sont réservées avec un certain nombre de formules. Chaque plage de colonnes réservées au salarié est nommée selon ses initiales et dans une dernière feuille ces données sont reprises grâce a ses initiales.
    Mon soucis est que je voudrais automatiser cette tâche d'ajout de colonne, de reprise des formules etc...

  4. #4
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par JPHIK Voir le message
    Le problème est que mon tableau a été conçu comme ça par d'autres.
    Je crée un salarié, il y a deux colonnes d'une feuille qui lu sont réservées avec un certain nombre de formules. Chaque plage de colonnes réservées au salarié est nommée selon ses initiales et dans une dernière feuille ces données sont reprises grâce a ses initiales.
    Mon soucis est que je voudrais automatiser cette tâche d'ajout de colonne, de reprise des formules etc...
    Je dois être fatigué car j'ai rien compris peux-tu mettre des captures écrans (en cachant les données sensibles) et essayer de donner plus de détails avec des phrases courtes pour que l'on puisse répondre à tes problèmes

  5. #5
    Membre averti
    Homme Profil pro
    Néophite
    Inscrit en
    Juillet 2018
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 6
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Néophite
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2018
    Messages : 51
    Par défaut
    En fait voilà le code de la dernière feuille qui sélectionne la plage de cellules en question dans une autre feuille, qui le copie et qui ensuite le colle dans la dernière feuille.

    1. il va chercher la plage nommée selon les initiales du salarié dans une feuille nommée "6. Modulation Horaires"
    2. il les copie
    3. il colle le format sur la feuille nommée "7. Modulation Individuelle" depuis la cellule ("B14")

    Cette manip est réalisée à chaque fin de mois pour impression et pièce jointe au bulletin de paie.

    Les cellules de la feuille "6. Modulation Horaires" sont "colorées selon un code en fonction des événements survenus sur le salarié. Cette feuille est conçue par un succession de colonnes (2 par salarié).
    Dans la feuille "7. Modulation Individuelle" Il n'existe plus qu'une seule colonne qui s'actualise au changement d'initiales des salariés

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B12")) Is Nothing Then
        Application.Goto Sheets("6. Modulation Horaires").Range(Sheets("7. Modulation Individuelle").Range("b12"))
        Selection.Copy
        Sheets("7. Modulation Individuelle").Select
        Range("B14").Select
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
        ActiveSheet.Range("C14").Select
    End If
    End Sub

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(ActiveCell, ActiveCell.Offset(38, 1)).name= ActiveCell.Offset(-2, 0).value
    il serait plus prudent de spécifier la feuille (à moins d'être sûr à 120% que ce sera bien la feuille active), et éliminer le ActiveCell (pas très sécure, dépend de l'utilisateur)
    eric

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

Discussions similaires

  1. Inserer une ligne vide avant en fonction de la valeur d'une cellule
    Par laurent27530 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/11/2014, 17h06
  2. [XL-2010] Masquer des cellules en fonction de la valeur d'une autre cellule
    Par Azulnoth dans le forum Excel
    Réponses: 7
    Dernier message: 17/07/2014, 17h45
  3. Déplacer une cellule en fonction de la valeur d'une autre cellule
    Par wabo67 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/03/2012, 15h54
  4. Réponses: 5
    Dernier message: 07/12/2010, 08h58
  5. Réponses: 7
    Dernier message: 13/10/2007, 23h31

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