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 :

incrémenter le contenu des cellules


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 271
    Par défaut incrémenter le contenu des cellules
    bjr
    j'ai un classeur qui contient plusieures feuilles
    pour la cellule AE7 de chaque feuille j'ai met la fonction suivante:
    =n° qlcq--------------pour la AE7 de feuil1
    ='feuil1'!AE7-----------pour la AE7 de feuil2
    ='feuil2'!AE7-----------pour la AE7 de feuil3
    .
    .
    .
    ='feuil(n-1)'!AE7-------pour la AE7 de feuil(n)
    existe il une macro qui peut faire ce travail.?????
    merci.

  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
    Par défaut
    existe il une macro qui peut faire ce travail.?????
    Non, tu dois la réaliser

  3. #3
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 271
    Par défaut
    bjr
    j'ai bien fait le travail sans VBA,
    mais est ce que vous pouvez m'aidez en utilisant VBA
    merci bcp.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Par défaut
    bonjour,

    tu peux d inspirer de ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub formule()
    Dim fl As Worksheet
    Dim i As Integer
    For Each fl In ActiveWorkbook.Worksheets
    i = i + 1
        If i > 1 Then
             fl.Cells(1, 1).FormulaR1C1 = "=Feuil" & i - 1 & "!RC"
        End If
    Next fl
    End Sub

  5. #5
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 271
    Par défaut
    bjr
    je pense que je n'ai pas bien présenté mon problème

    j'ai un classeur qui contient plusieures feuilles
    pour la cellule AE7 de chaque feuille j'ai met la fonction suivante:
    =n° qlcq-----------------pour la AE7 de feuil1
    ='feuil1'!AE7+1-----------pour la AE7 de feuil2
    ='feuil2'!AE7+2-----------pour la AE7 de feuil3
    .
    .
    .
    ='feuil(n-1)'!AE7+(n-1)-------pour la AE7 de feuil(n)
    les feuilles ne portent pas forcement les noms feuil1;feuil2;...........feuil(n),
    je voulais dire seulement la feuille suivante et la feuille précedante
    merci de votre aide.

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Par défaut
    donc tu rajoutes 1,2,3 etc a la valeur de la cellule ae7 ?

    j'ai un classeur qui contient plusieures feuilles
    pour la cellule AE7 de chaque feuille j'ai met la fonction suivante:
    =n° qlcq-----------------pour la AE7 de feuil1
    ='feuil1'!AE7+1-----------pour la AE7 de feuil2
    ='feuil2'!AE7+2-----------pour la AE7 de feuil3

  7. #7
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 271
    Par défaut
    exactement,
    est ce qu'il y a une macro dont le but est de passer à la feuille suivante ou bien à la feuille precedante.
    merci bcp.

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Par défaut
    Le mm principe que le code cité plus haut
    on boucle sur toutes les feuilles du classeur actif
    puis on rajoute i a la cellule ae7

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub formule()
    Dim fl As Worksheet
    Dim i As Integer
    For Each fl In ActiveWorkbook.Worksheets
    i = i + 1
               fl.range("ae7") = fl.range("ae7")  + i   
    Next fl
    End Sub

  9. #9
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 271
    Par défaut
    bjr
    ça marche pas
    j'ai essayé cette macro que je pense un peu proche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub incrimentation_cellule()
    For Each Worksheet In Worksheets
    If i <> 1 Then
    Worksheet(i).Range("a1").Value = Worksheet(i - 1).Range("a1").Value
    End If
    Next
    End Sub
    mais avec des problèmes aussi.
    a l'aide SVP.
    MERCI

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Par défaut
    essaye ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub formule()
    Dim fl As Worksheet
    Dim i As Integer
    Dim valeur
    valeur = Worksheets(1).Range("ae7").Value
    For Each fl In ActiveWorkbook.Worksheets
    i = i + 1
        If i > 1 Then
               fl.Range("ae7") = valeur + i - 1
        End If
    Next fl
    End Sub

  11. #11
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 271
    Par défaut
    bjr
    oui ça marche
    est que tu peux m'expliquer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    i = i + 1
        If i > 1 Then
               fl.Range("ae7") = valeur + i - 1
        End If
    S.V.P
    MERCI

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    i = i + 1 'incrementation de i pour le parcour de chaque feuille
        If i > 1 Then ' a partir de la 2eme feuil
               fl.Range("ae7") = valeur + i - 1   'on ajoute i-1 a la valeur de la cellule ("ae7") de la feuil1
        End If

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/06/2008, 11h40
  2. Remplacer le contenu des cellules de destination
    Par cyraile dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/11/2006, 08h23
  3. Réponses: 2
    Dernier message: 19/06/2006, 14h05
  4. [VBA]comptage de lignes en fonction du contenu des cellules
    Par calimero91 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/12/2005, 11h38
  5. [JTable]Aligner le contenu des cellules
    Par )3lade dans le forum Composants
    Réponses: 2
    Dernier message: 09/03/2004, 13h24

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