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 :

Renseigner le numéro d'une semaine de façon dynamique et imbriquée avec une fonction de concatenation sur VBA [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    commercial
    Inscrit en
    Décembre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : commercial

    Informations forums :
    Inscription : Décembre 2016
    Messages : 18
    Points : 11
    Points
    11
    Par défaut Renseigner le numéro d'une semaine de façon dynamique et imbriquée avec une fonction de concatenation sur VBA
    Bonjour,

    Nouvel inscrit sur ce forum, je suis également novice sur VBA. Je m'y forme sur le tas, sur le tard.. Et c'est dur.
    J'ai déjà vu des sujets traitant d'1 partie du problème ou l'autre sur ce forum, mais pas du sujet complet, et j'ai du mal à combiner les réponses...
    D'avance merci pour votre aide, voici mon problème:

    Dans une macro que j'enregistre, je souhaite venir écrire sur la dernière colonne avec des valeurs dans la ligne 5 de ma feuille de données le numéro de la semaine en cours. Puis viennent d'autres opérations simples que je n'intègre pas dans ce sujet car elles fonctionnent.
    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Range("A5").Select
        Selection.End(xlToRight).Select
        Selection.End(xlToRight).Select
        ActiveCell.FormulaLocal = "="semaine "&no.semaine(aujourdhui();21)"
    Sauf que ça ne marche pas, une erreur de syntaxe semble s'être glissée dans mon code...
    Merci d'avance pour votre aide, et mes excuses d'avance pour ce "faux" problème lié à mon manque de connaissance sur le sujet,
    Très bonne journée à vous et surtout: bonnes fêtes!
    Victor

  2. #2
    Membre du Club
    Homme Profil pro
    Ingénieur étude
    Inscrit en
    Novembre 2016
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur étude

    Informations forums :
    Inscription : Novembre 2016
    Messages : 50
    Points : 52
    Points
    52
    Par défaut
    Bonjour,

    il est préférable d'éviter l'utilisation de select.
    Par contre, remplace par et dis-moi si c'es ok.

    Yohann

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Essayez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveCell.FormulaLocal = "=""Semaine ""&no.semaine(" & "aujourdhui()" & ";21)"

    Effectivement, la syntaxe de Yoann est suffisante : dont acte.

    Cordialement.
    Dernière modification par Invité ; 20/12/2016 à 09h34. Motif: Message de Yoann, situé plus bas.

  4. #4
    Membre du Club
    Homme Profil pro
    Ingénieur étude
    Inscrit en
    Novembre 2016
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur étude

    Informations forums :
    Inscription : Novembre 2016
    Messages : 50
    Points : 52
    Points
    52
    Par défaut
    Mettre des espaces autour du est aussi à envisager.

    Mon post a croisé celui d'Eric.

  5. #5
    Membre du Club
    Homme Profil pro
    Ingénieur étude
    Inscrit en
    Novembre 2016
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur étude

    Informations forums :
    Inscription : Novembre 2016
    Messages : 50
    Points : 52
    Points
    52
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.FormulaLocal = "=""Semaine ""&no.semaine(aujourdhui();21)"
    est suffisant

  6. #6
    Membre à l'essai
    Homme Profil pro
    commercial
    Inscrit en
    Décembre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : commercial

    Informations forums :
    Inscription : Décembre 2016
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    Bonjour Eric & Yoyof,

    Merci pour vos messages!
    J'ai adapté mon code comme conseillé et cela fonctionne! super!
    Effectivement, je ne maîtrise pas bien l'utilisation des espaces et des " , j'imagine que la syntaxe devait en souffrir!
    Un grand merci à vous!

    Voici le code rectifié:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Range("A5").Select
        Selection.End(xlToRight).Select
        Selection.End(xlToRight).Select
        ActiveCell.FormulaLocal = "=""Semaine ""&no.semaine(" & "aujourdhui()" & ";21)"
    Bonne journée à vous!
    et bonnes fêtes
    Victor

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par vicovico Voir le message
    Effectivement, je ne maîtrise pas bien l'utilisation des espaces et des "
    Quand vous ne connaissez pas la syntaxe, servez-vous de l'enregistreur de macro et tapez votre fonction. De mon point de vue, c'est plus facile également de garder le format proposé par la macro, c'est à dire pas en format local, Excel fait la traduction.

    Cordialement.

  8. #8
    Membre du Club
    Homme Profil pro
    Ingénieur étude
    Inscrit en
    Novembre 2016
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur étude

    Informations forums :
    Inscription : Novembre 2016
    Messages : 50
    Points : 52
    Points
    52
    Par défaut
    Victor,

    tente ceci (si c'est vraiment sur la dernière colonne que tu écris):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(5, Columns.Count).FormulaLocal = "=""Semaine ""&no.semaine(aujourdhui();21)"
    Pour info, pour inscrire un guillemet " dans une cellule par VBA, on inscrit 2 guillemets "" dans le code (je ne sais pas si c'est clair dit comme ceci).

    Yohann

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

Discussions similaires

  1. [WD15] Génération d'une classe de façons dynamique
    Par shorley dans le forum WinDev
    Réponses: 0
    Dernier message: 29/12/2011, 13h07
  2. [AC-2007] Renseigner le numéro de la semaine en auto
    Par jojo2311 dans le forum IHM
    Réponses: 1
    Dernier message: 29/11/2011, 07h50
  3. Positionner des objets sur une image de façon dynamique
    Par derfez dans le forum Silverlight
    Réponses: 4
    Dernier message: 14/11/2011, 09h44
  4. Image et texte dans une listbox de façon dynamique
    Par banban56 dans le forum Windows Presentation Foundation
    Réponses: 12
    Dernier message: 16/07/2010, 12h02
  5. Réponses: 3
    Dernier message: 09/10/2007, 14h24

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