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 :

Plage de cellule variable [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 322
    Par défaut Plage de cellule variable
    Bonjour à tous.

    J'ai une plage de cellule qui doit être absolument variable car elle servira à l'étape suivante pour un publipostage dans Word. Si je nomme ma plage de A2 à G200, il y aura 200 lettres de publipostage d'imprimer dans Word même si pour ce type de de rapport il n'y a que 15 noms.

    Notez que la liste des destinataires est générée par une autre commande et selon le critère demandé.

    Dans Word, il est possible de faire le publipostage à partir d'une plage d'Excel afin d'imprimer que pour les destinataires selon le critère.

    Je sais que par le code VBA je suis en mesure de faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ActiveWorkbook.Names.Add Name:="PublipostagePourWord", RefersToR1C1:= _
            "='Vers Word'!R1C1:R18C7"
    Mon but :

    J'aimerais utiliser une variable qui aurait pour but de faire varier "R18C7" pour "R37C7" (il y aurait dans cette exemple 36 destinataires car la première ligne correspond aux titres de collones).

    Pour ce qui est de la variable, je n'ai pas de problème. Je ne sais pas comment l'inclure dans le code


    Merci encore une fois pour votre aide.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim CelFin as range
    Set CelFin=Range("G37")
    ActiveWorkbook.Names.Add Name:="PublipostagePourWord", RefersToR1C1:= _
    "='Vers Word'!R1C1:" &CelFin.Address(1, 1, xlR1C1)

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 322
    Par défaut Nombre de ligne
    Bonjour et merci pour la réponse mais ça ne fonctionne pas. Je vais essayer d'être plus claire.

    Dans le code de mercatog, je comprends que la cellule de fin sera toujours G37. Ma plage de cellules sera toujours à partir de A2 pour ce terminer à collone G mais à une ligne variable.

    Avant de déterminer le nombre de ligne, je fais trier le code afin de regrouper les données à partir de la ligne 2. Je détermine le nombre de ligne ayant des données en ulilisant les formules NBCAR et SI. Je suis à la recherche donc d'une façon de faire en sorte que G37 soit remplacé par "G" et la valeur de la cellule L1 (L1 représente le nombre de ligne pour ce rapport).

    Comme L1 va varier en fonction du nombre de ligne, je recheche donc à créer une plage qui débute à A2 jusqu'à G__ (selon le nombre en L1).

    En espérant avoir été plus claire dans mes explications, je vous remercie à nouveau pour l'aide.

    dlight

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.Names.Add Name:="PublipostagePourWord", RefersToR1C1:= _
    "='Vers Word'!R1C1:" & Range("G" & [L1]).Address(1, 1, xlR1C1)

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 288
    Par défaut
    Ou comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ActiveWorkbook.Names.Add Name:="PublipostagePourWord", RefersToR1C1:= _
            "='Vers Word'!R1C1:R" & Cells(Rows.Count, 7).End(xlUp).Row & "C7"

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Par défaut
    ou comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.Names.Add Name:="PublipostagePourWord", RefersTo:= _
         Worksheets("Vers Word").Cells(1).CurrentRegion

  7. #7
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 322
    Par défaut Plage variable
    Merci à vous tous pour vos réponses. J'ai utilisé la méthode de zyhack et ça fonctionne.

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

Discussions similaires

  1. Sélectionner une plage de cellules variables pour faire un graphique?
    Par drthodt dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/11/2007, 18h06
  2. Liste de diffusion Mail selon plage de cellule variable
    Par dguff dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/09/2007, 17h10
  3. Somme dépendant de plage de cellules variable
    Par Talieth dans le forum Excel
    Réponses: 4
    Dernier message: 23/04/2007, 10h37
  4. appliquer une macro a une plage de cellule variable
    Par johndeuf dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/11/2006, 16h18
  5. [VBA-E]Selection plage de cellules variable
    Par julien5 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/05/2006, 14h51

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