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 :

Question sur fonction formulaR1C1


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 130
    Points : 85
    Points
    85
    Par défaut Question sur fonction formulaR1C1
    Bonjour,

    Je dois écrire la concatenation des 3 premieres colonnes en vba.

    J'ai en code VBA:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i + 1, cpt).FormulaR1C1 = "=R[-1]C[-4]&"" ""&R[-1]C[-3]&"" ""&R[-1]C[-2]"
    mais comme vous le voyez la colonne où j'écris la formule varie en fonction de la variable cpt. Du coup cela se decale et cela ne fait plus la concatenation des cellules des 3 premieres colonnes.

    Comment puis je verrouiller les cellules dans la fonction formulaR1C1?

    merci pour votre aide.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Les données de tes trois premières colonnes pour une ligne donnée changent-elles ? Autrement dit, tiens-tu à une formule ?
    Si oui, utilise Formula
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i + 1, cpt).Formula = "=SUM(" & Cells(i + 1, 1).Address(0, 0) & ":" & Cells(i + 1, 3).Address(0, 0) & ")"
    Bonne journée

  3. #3
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 118
    Points : 74
    Points
    74
    Par défaut
    Bonjour,

    Si j'ai bien compris, tu dois rajouter un espace entre la 1ère et la 2ème cellule, ainsi qu'entre la 2ème et la 3ème ?

    Ce n'est pas simple... Je pense que le plus simple est de rajouter un espace à la fin de la chaine de caractères des 1ere et 2eme cellule, puis de concaténer les 3 comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.Formula = "=a" & i  & "&" & "b" & i & "&" & "c" & i
    Si ça ne fonctionne pas, dis-le moi....

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Je t'ai mis la somme, pour concaténer,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i + 1, cpt).Formula = "=" & Cells(i + 1, 1).Address(0, 0) & " & " & Cells(i + 1, 2).Address(0, 0) & " & " & Cells(i + 1, 3).Address(0, 0)
    Avec un espace, ça devrait donner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i + 1, cpt).Formula = "=" & Cells(i + 1, 1).Address(0, 0) & "&" & """ """ & "&" & Cells(i + 1, 2).Address(0, 0) & "&" & """ """ & "&" & Cells(i + 1, 3).Address(0, 0)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 130
    Points : 85
    Points
    85
    Par défaut
    C'est parfait ça fonctionne

    merci beaucoup!

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 130
    Points : 85
    Points
    85
    Par défaut
    Une derniere question,

    si la cellule Cells(i + 1, cpt) contient déja quelque chose, est t'il possible de concatener dans celle çi à la suite de son contenue?

    J'ai essayé en modifiant ta formule Ouskel'n'or mais comme je m'y attendais j'ai une erreure de référence circulaire.

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

Discussions similaires

  1. Question sur la fonction recv
    Par Mr_Chut dans le forum Réseau
    Réponses: 14
    Dernier message: 15/09/2006, 12h43
  2. Question sur les fonctions "send()" et "recv(
    Par damien99 dans le forum MFC
    Réponses: 6
    Dernier message: 10/02/2006, 20h47
  3. Réponses: 1
    Dernier message: 08/02/2006, 11h18
  4. Réponses: 2
    Dernier message: 21/12/2005, 09h39
  5. Réponses: 5
    Dernier message: 13/10/2005, 12h46

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