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 :

modification de macro VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 2
    Par défaut modification de macro VBA
    je ne sais pas ecrire en VBA donc j utilise l'enregistreur pour faire du VBA et j utilise aussi les macros excel4.
    Pour certaines actions je suis obligé de passer par le VBA plus recent
    voici ce que l'enregistreur a ecrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Windows("cajusold.csv").Activate
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "CG FREGATE/OPERATIONE4JOURNALRBTEM"
    With ActiveCell.Characters(Start:=1, Length:=20).Font
    Le problème, c'est que la macro ne fonctionne que pour la cellule selectionnée.
    Je souhaiterai que la macro VBA ne fasse pas etat de la position precise de la cellule, ici R1C1je suppose mais fasse etat de cell.active car je veux appliquer le traitement de la macro a differentes cellules de la feuille; En faite cette macro sera un sous programme d une macro excel4.
    comment faire? merci

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Ton problème vient de la ligne
    Qui place le curseur sur B2. Et non de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.FormulaR1C1= "CG FREGATE/OPERATIONE4JOURNALRBTEM"
    Qui utilise bien la cellule active pour inscrire une formule de type R1C1

    NB : il serait plus "juste" de remplacer FormulaR1C1 par Value

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 2
    Par défaut
    Je te remercie ca fonctionne a bientot

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 211
    Par défaut
    Je ne sais pas si c'est ce que tu cherches?
    (pour ecrir dans C3 par exemple)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim R as Range
    Dim Ligne, colonne as integer
     
    Ligne =3
    Colonne=3
     
    Set R = ActiveWorkbook.Sheets("Feuil1").Range(ActiveWorkbook.Sheets("Feuil1").Cells(Ligne,colonne))
     
    R.Formula = "CG FREGATE/OPERATIONE4JOURNALRBTEM"
    ou directement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    Dim Ligne, colonne as integer
     
    Ligne =3
    Colonne=3
     
    ActiveWorkbook.Sheets("Feuil1").Range(ActiveWorkbook.Sheets("Feuil1").Cells(Ligne,colonne)).Formula = "CG FREGATE/OPERATIONE4JOURNALRBTEM"

  5. #5
    Membre expérimenté
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Par défaut
    Bonjour à tous,
    Juste une petite précision.

    Dereck07 quand tu fais ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Ligne, Colonne as integer
    Seul Colonne est déclarée comme Integer, Ligne sera du typa Variant.
    Il faut faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Ligne as Integer, Colonne as Integer
    Enfin dans ce cas tu n'es pas obligé d'utiliser Integer mais tu peux les déclarer en Long:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Ligne as Long, Colonne as Long
    Et puis pourquoi ne pas mettre cells(3,3) directement?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 211
    Par défaut
    Oui, tu as raison diude54.

    Il faut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim Ligne as integer, colonne as integer
     
    Ligne =3
    Colonne=3
     
    ActiveWorkbook.Sheets("Feuil1").Cells(Ligne,colonne).Formula = "CG FREGATE/OPERATIONE4JOURNALRBTEM"
    En faite on fait 'range' pour travailler sur un groupe de cellule
    ex: Range(cells(2,2),cells(2,4)) , pour les celulles B2 à D2.

    Je pense que le premier exemple que j'ai donné ne fonctionnait pas.

Discussions similaires

  1. Probleme d'enregistrement sur Macro/VBA de Excel
    Par life is magic dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/11/2005, 17h23
  2. Connaître la taille d'un module avec une macro VBA ou autre
    Par beegees dans le forum Général VBA
    Réponses: 15
    Dernier message: 22/11/2005, 09h47
  3. probleme de selection aleatoire sur excel avec macro vba
    Par guillaume sors dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/10/2005, 10h51
  4. Macro VBA sur Access
    Par beurnoir dans le forum Access
    Réponses: 3
    Dernier message: 12/10/2005, 16h46
  5. [SQL][MACRO VBA]Pb de syntaxe
    Par Stef.proxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/08/2004, 09h11

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