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 :

Auto fill dynamique


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
    Inscrit en
    Décembre 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 25
    Par défaut Auto fill dynamique
    Bonjour à tous,

    Voilà, je ne suis pas très forte en vba (complètement nulle même), mais j'aurai besoin de passer par Autofill.
    Voilà le truc.
    Je dois créer, imprimer et supprimer un graphique automatiquement (ça c'est bon). Dans ce graphique, il y a une ligne pour chaque catégorie (C), une colonne pour chaque semaine (S) et deux moyennes (A et B).

    Semaines 1 2 3 4
    Cat1 x x
    Cat2 x x
    ...
    MoyA x x x x
    MoyB x x x x

    Si j'étire à l'avance les formules des moyennes, la courbe du graphique retombe vers le zéro. Aussi il me faudrait quelque chose du type:

    "Si au moins une cellule est non nulle dans la zone "D2: D28" alors étirer la formule écrite en "B29" de "B29" à "D29"." Sachant que les colonnes doivent être dynamiques.

    Pour le moment mon code ressemble à ça:

    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
    Sub ESSAI()
     
    With Worksheets("SYN")
     
    Dim cc As Integer 'pour colonne
    Dim ll As Integer 'pour ligne
     
    For cc = 2 To 5
    For ll = 2 To 5
     
    If Not IsEmpty(Cells(ll, cc)) Then
    Range("B29").FormulaLocal = "=MOYENNE(B4;B5;B11;B12;B14;B15;B16;B17;B19;B20;B22;B26;B28)"
    Range("B29").AutoFill Destination:=Range(Cells(29, 2), Cells(29, cc).FillRight)
    MsgBox "Etiré jusqu'à la colonne " & cc
    End If
     
    Next ll
    Next cc
     
    End With
     
    End Sub
    Et je ne comprend pas pour quoi ça ne fonctionne pas...

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    J'ai un peu de mal à comprendre la disposition de tes données. Peux-tu mettre un classeur exemple - sans données confidentielles - en pièce jointe ?

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 25
    Par défaut
    Voilà, j'ai retiré beaucoup de chose mais normalement, il reste de quoi comprendre pour toi.
    J'espère que tu réussira à lire le fichier, c'est la première fois que j'utilise cette fonction...

    N'oublie pas de mettre PDF Creator en imprimante par défaut sinon la macro lancera l'impression papier.
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Essaie comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub ESSAI()
        Dim Col As Integer
        With Worksheets("SYN")
            Col = .Range("2:27").Find("*", , , , xlByColumns, xlPrevious).Column
            Range("B29").FormulaLocal = "=MOYENNE(B4;B5;B11;B12;B14;B15;B16;B17;B19;B20;B22;B26;B28)"
            Range("B29").AutoFill Destination:=Range(Cells(29, 2), Cells(29, Col))
        End With
    End Sub

  5. #5
    Membre averti
    Femme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 25
    Par défaut
    Hum, ça bug... A chaque fois ça veut envoyer un rapport d'erreur et ça plante Excel...

    Que le fantôme qui hante mon ordi sorte tout de suite, il est vieux mais il a pas encore rendu l'âme!!

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Quelle est ta version d'Excel ? Je n'ai pas trouvé dans le classeur la macro "ESSAI" que tu as publié ? J'ai collé la mienne dans "Module1" et je l'exécute sans problème. As-tu essayé de l'exécuter ligne à ligne (avec la touche F8) pour voir quelle ligne provoque le plantage ?

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

Discussions similaires

  1. [XL-2007] Auto Fill a partir du nombre de lignes dans une feuille différente
    Par kikijoli dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/08/2011, 10h57
  2. formulaire dynamique auto orienté
    Par polothentik dans le forum ASP
    Réponses: 5
    Dernier message: 08/04/2008, 09h01
  3. Ajout dynamique onclick et auto-execution
    Par chjerome dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 24/01/2008, 18h50
  4. [VBA] [excel] MàJ auto tab croisé dynamique
    Par Angel79 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/02/2006, 10h05

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