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 :

Ecrire dans plusieurs feuilles excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Ecrire dans plusieurs feuilles excel
    Bonjour à tous,

    j'aurais besoin de vos lumières, svp!!!
    Voilà mon problème, je voudrais écrire à la fin de la colonne B le champs "total" dans toutes les feuilles de mon classeur excepté la feuille 1.
    Cependant, la longueur des colonnes B est variable, car chaque feuille est créer à partir d'un fichier généré en fin de moi.
    J'ai déjà fait ce code, mais il écrit "total" seulement dans la feuille active et non pas dans toutes les feuilles exceptée la "feuil1".
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Sub toto()
        Dim feuille As Worksheet
     
     
        For Each feuille In Worksheets
            If feuille.Name <> "Feuil1" Then
                Range("B100").Select
                Selection.End(xlUp).Offset(1, 0).Select
                ActiveCell.FormulaR1C1 = "Total:"
                With ActiveCell.Characters(Start:=1, Length:=6).Font
                .Name = "Calibri"
                .FontStyle = "Gras"
                .Size = 11
                .Strikethrough = False
                .Superscript = False
                .Subscript = False
                .OutlineFont = False
                .Shadow = False
                .Underline = xlUnderlineStyleNone
                .Color = -16776961
                .ThemeColor = xlThemeColorLight1
                .TintAndShade = 0
                .ThemeFont = xlThemeFontMinor
                End With
            End If
        Next feuille
    End Sub
    Dans ce code, je commence à la ligne B100 et parcours la colonne B pour savoir quand elle se termine.

    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Tu balaies les noms de feuille mais tu ne changes pas de feuille active
    Essaie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub toto()
        Dim feuille As Worksheet
     
     
        For Each feuille In Worksheets
            If feuille.Name <> "Feuil1" Then
                feuille.Range("B100").End(xlUp).Offset(1, 0).FormulaR1C1 = "Total:"
    De plus, une notion de base de Vba reste que tu n'as pas besoin de sélectionner un objet Range pour y appliquer une méthode ou une propriété
    contrairement à ce que te donne l'enregistreur

    Cordialement

    Marcel

  3. #3
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut Propriété Font
    Rebonsoir,

    Autre chose,
    Comme pour les mises en pages, et autres, les propriétés Font données par l'enregistreur sont exclusives.
    Leur écriture en VBA est donc parfois redondante. C'est mon impression ici.
    Afin d'alléger ton code, et donc le rendre plus lisible, il vaut mieux n'écrire que les propriétés spécifiques que tu veux modifier.

    Bonne soirée.

    Marcel

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Bonjour Marcel,

    Nikel, ça fonctionne!! Merci pour ta réponse
    Je commence sous VB, donc je n'ai pas encore tous les automatismes.
    Je passe le post en résolu

    Merci encore

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

Discussions similaires

  1. Ecrire dans une feuille excel
    Par redabadache3 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/07/2022, 01h47
  2. Ecrire dans plusieurs feuilles Excel
    Par soufian1364 dans le forum C#
    Réponses: 4
    Dernier message: 23/03/2009, 11h50
  3. Ecrire dans une feuille Excel
    Par ash_rmy dans le forum ODS et reporting
    Réponses: 3
    Dernier message: 06/12/2007, 12h06
  4. reporter une cellule dans plusieurs feuilles excel
    Par tigdub1gal dans le forum Excel
    Réponses: 17
    Dernier message: 07/06/2007, 02h23
  5. [VBA-PP]Ecrire dans une feuille Excel
    Par alpking dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 27/04/2006, 19h18

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