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 :

Attribuer des noms via VBA


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 4
    Par défaut Attribuer des noms via VBA
    Bonjour,

    J'ai actuellement un code VBA qui me permet de calculer mes dates d'échéances via mes inputbox. Celle-ci utilise pour insérer les valeurs la fonction Range("Echeance1").value=dateadd(.....)

    Cela fonctionne, cependant, les utilisateurs de ce modèle ne maitrisant pas totalement excel, existerait il un code VBA qui me permettrait de renommé chaque cellule de ma colonne automatiquement du style


    x=inputbox("nombre de locataires")
    For i=1 to x
    "La fonction qui attribuerai le nom"= echeance&i


    Cordialement,

    Vincent

  2. #2
    Expert éminent 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
    Par défaut
    L'enregistreur automatique de macro t'aurais donné cette réponse en quelques secondes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbook("MonClasseur").Names.Add ("MonNom", "=Feuil1!A1")
    Tu peux aussi l'utiliser avec Worksheet si tu veux que la portée du nom soit limitée à la feuille.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 4
    Par défaut
    Citation Envoyé par Menhir Voir le message
    L'enregistreur automatique de macro t'aurais donné cette réponse en quelques secondes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbook("MonClasseur").Names.Add ("MonNom", "=Feuil1!A1")
    Tu peux aussi l'utiliser avec Worksheet si tu veux que la portée du nom soit limitée à la feuille.
    J'avais vu avec l'enregistreur de macro cette formule, cependant je n'arrive pas a l'automatiser en boucle dans chaque ajout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    For i= 1 to x ( x étant le nombre de locataires)
    workbook("CF").Names.add("debut"&i,"=CF!D"&i)
    En vous remerciant

  4. #4
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    C'est normal : le guillemet doit faire partie de ta formule. Quand tu écris ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    workbook("CF").Names.add("debut"&i,"=CF!D"&i)
    Pour la valeur 1 par exemple, ça donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    workbook("CF").Names.add("debut"&i,"=CF!D1)
    => Tu vois qu'il manque le guillemet de fin

    il faut donc rajouter un guillemet à la fin. Pour cela, plusieurs solutions. Soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    workbook("CF").Names.add "debut"&i,"=CF!D" & i & """"
    Soit tu utilises le code ascii :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    workbook("CF").Names.add("debut"&i,"=CF!D" & i & chr(34))
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub nom()
     
    For i = 1 To 30
     
     
    Workbook("CF").Names.Add "Locataires" & i, "=feuil1!A" & i & """"
     
    Next i
     
    End Sub
    Cela ne fonctionne pas :/ , faut il déclarer le workbook ?

  6. #6
    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,

    non c'est normal car il suffit pourtant de bien lire le message d'erreur et son aide ‼

    C'est comme en Français, il faut juste respecter l'orthographe ! Workbooks("CF").

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 4
    Par défaut
    Excusez moi, j'ai coller l'ancien code, j'avais effectivement corrigé le s, le truc c'est que si je code sans la boucle, cela marchait. mais en insérant la boucle il existe encore une erreur d'attribution d'objet.

  8. #8
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Option Explicit
     
    Sub nom()
    Dim i As Long
        For i = 1 To 30
            ActiveWorkbook.Names.Add Name:="Locataires_" & Format(i, "000"), RefersToR1C1:="=Feuil1!R" & i & "C1"
        Next i
    End Sub

  9. #9
    Expert éminent 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
    Par défaut
    Citation Envoyé par vicente-B Voir le message
    il existe encore une erreur d'attribution d'objet.
    Les parenthèses ?
    Et c'est quoi le & """" que tu mets en fin de formule ?

Discussions similaires

  1. [JNDI] Attribuer des noms de resources au deploiement
    Par Khaled.Noordin dans le forum Java EE
    Réponses: 1
    Dernier message: 01/02/2012, 01h59
  2. [XL-2007] comment trouver une colonne dans une BD par son nom via VBA
    Par chikitin dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/06/2010, 08h52
  3. [XL-2007] Ajouter des MFC via vba
    Par EmmanuelleC dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/06/2010, 12h00
  4. Réponses: 1
    Dernier message: 10/05/2010, 16h02
  5. Taille des colonnes via VBA
    Par mooh91 dans le forum Access
    Réponses: 7
    Dernier message: 15/02/2007, 19h30

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