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 :

Méthode AutoFill: remplir une plage Range [XL-2016]


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
    Chargé d'affaire
    Inscrit en
    Janvier 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Janvier 2016
    Messages : 34
    Par défaut Méthode AutoFill: remplir une plage Range
    Bonjour le forum!

    J'ai une question assez spécifique relative à l'utilisation d'un AutoFill.

    Au sein d'une macro je souhaite remplir une plage de donnée (myRange) avec une formule.
    Je place ma formule dans la cellule H7, puis tente de la recopier avec AutoFill dans myRange.

    Mon problème: la formule est bien copiée sur une plage de donnée mais il manque la première colonne et la première ligne adjacentes à la cellule H7.
    Cela doit sûrement être lié, mais j'ignore pourquoi.

    Merci d'avance pour vos réponses et votre aide !!


    Voici le code:

    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
    Sub essai()
     
    Dim derniereLigne As Long
    Dim myRange As Range
     
     
    derniereLigne = Range("C7").End(xlDown).Row
     
    Set myRange = Range(Cells(7, 8), Cells(derniereLigne, 10))
     
    Range("H7").FormulaR1C1 = "=SUMIFS(Data_CA!C25,Data_CA!C10,RC4,Data_CA!C4,R1C3,Data_CA!C24,R6C)"
     
    Range("H7").AutoFill Destination:=myRange
     
     
    End Sub
    Bonne journée,

    Esculape.

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    ajouter après 2 Dim :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    with sheets("....")
    /
    /
    /
    end with
    end sub
    aussi ajouter un point avant Range

    essayer ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub essai()
    With Sheets("Data_CA")
    Range("H7:H" & [F65536].End(xlUp).Row).FormulaR1C1 = "=SUMIFS(Data_CA!C25,Data_CA!C10,RC4,Data_CA!C4,R1C3,Data_CA!C24,R6C)"
    End Sub

  3. #3
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    @BENNASR : Ton code change le fonctionnement de ce que cherche à faire @Esculape

    Il regarde dans la colonne C pour déterminer sa plage de donnée, hors avec ton code tu regarde dans la colonne H.....

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Merci cerede2000 je crois que ca débloque non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Sub essai()
    With Sheets("Data_CA")
    Range("H7:H" & [C65536].End(xlUp).Row).FormulaR1C1 = "=SUMIFS(Data_CA!C25,Data_CA!C10,RC4,Data_CA!C4,R1C3,Data_CA!C24,R6C)"
    End Sub

  5. #5
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Janvier 2016
    Messages : 34
    Par défaut
    Merci BENNASR pour ta réponse!
    Cela fonctionne bien sur la colonne H jusqu'à la dernière ligne (que l'on compte sur la colonne C).

    Cependant je cherche à ce que la formule s'applique aussi sur plusieurs colonnes tout en utilisant la définition de plage via myRange.
    Et en utilisant cette méthode, j'avais le problème précédemment cité:

    Mon problème: la formule est bien copiée sur une plage de donnée mais il manque la première colonne et la première ligne adjacentes à la cellule H7.
    Je ne vois toujours pas comment faire.
    J'ai bien essayé ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Range("H7:H" & [C65536].End(xlUp).Row).FormulaR1C1 = "=SUMIFS(Data_CA!C25,Data_CA!C10,RC4,Data_CA!C4,R1C3,Data_CA!C24,R6C)"
     
    Range("H7").AutoFill Destination:=myRange
    avec toujours avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    derniereLigne = Range("C7").End(xlDown).Row
     
    Set myRange = Range(Cells(7, 8), Cells(derniereLigne, 10))
    Mais j'ai toujours la première ligne adjacente à H7 qui n'est pas complétée et le code m'a l'air un peu compliqué pour la simplicité de ce que je souhaite réaliser...


    Esculape.

  6. #6
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    désolé de dire que j'ai pas compris toutefois et si c'est possible posté un petit classeur exemple et je vais essayer de t'aider malgré que chui débutant en VBA aussi

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

Discussions similaires

  1. [XL-2007] Remplir une plage par le même caractère
    Par apt dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/04/2012, 06h04
  2. Remplir une plage de données à partir deux données
    Par jacksparot dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/04/2011, 19h11
  3. Requête complexe pour remplir une plage
    Par Nicolas N. dans le forum Requêtes
    Réponses: 1
    Dernier message: 02/01/2011, 23h52
  4. Remplir une plage tous les 5 éléments
    Par aricoh dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/10/2009, 16h46
  5. Remplir une plage à partir d'un tableau
    Par roudy78 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/05/2007, 10h56

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