Aide pour macro excel

Résolu
Bonjour, si quelqu'un peut m'aider a trouver une macro pour mon problème,

http://img268.imageshack.us/img268/1504/exell.jpg

voici mon fichier et j'aimerai en faite pouvoir réaliser une macro qui quand je l'active, me rajoute 1 a tous les chiffres de la colonne A sauf celui de la ligne du chiffre qui est marqué dans le tableau LIGNE

pour cette exemple cela me donnerai en A2=5+1=6, A3=6+1=7 , A4=60+1=61 , A5=52 (car le tableau LIGNE me dit 5 donc je n'ajoute pas 1 a la ligne 5) , A6=30+1=31 , A7=3 , A8=20

merci d'avance
Configuration: Windows Vista
Firefox 3.5.5

8 réponses

  • Votes
  • Date
  • Date décroissante
  1. j'avais pas compris en effet!!

    Sub Ajout()
    Dim I As Integer
    Dim c As Variant
    Dim Derlig As Integer
    
    Derlig = Sheets(1).[A65535].End(xlUp).Row
    I = Sheets(1).Range("E2").Value 
    For Each c In Range("A2:A" & Derlig)
        If c.Row <> I Then
            c.Value = c.Value + 1
        else
            c.value=0 
        End If
    
    Next
    
    
    End Sub
    1. ah c'est bizarre , ca marchait sur le excel de mon boulot et sur le mien sa marque un rond rouge avec une croix blanche et 400,c'est excel 2002
    2. @sebdsl, c'est moi qui a merdé avec mon fichier sur mon ordi, j'avai une feuille Graph qui s'était ouverte avant la feuille 1 du coup ça beuguai, merci pour ton aide c'est super ça marche merci
  2. Bonjour
    je te propose ce petit code

    pour faire simple
    1: Tu nommes la cellules qui contient le numero de ligne 'num_ligne'
    2: Alt F11, insère un module et copie/colle le code ci dessous.
    3: tu crées un bouton sur ta feuille tu lui affectes la macro Ajout
    4: si c'est bon tu mets en résolu : )

    Sub Ajout()
    Dim I As Integer
    Dim c As Variant
    Dim Derlig As Integer
    
    Derlig = Sheets(1).[A65535].End(xlUp).Row
    I = Sheets(1).Range("num_ligne").Value  ' ou i= sheets(1).range("E2").value si ta valeur est en E2
    For Each c In Range("A2:A" & Derlig)
        If c.Row <> I Then
            c.Value = c.Value + 1
        End If
    
    Next
    
    
    End Sub
    1. salut,merci pour ton aide mais j'ai un problème , car je connais rien a excel^^, pour nommer une cellule ,il faut aller dessus et marquer num_ligne a la place de E2 par exemple ?

      du coup après avoir fait tous sa, sa ma marqué end sub erreur du coup je les rajouté a la fin du texte ,c'est ce qu'il fallait faire? et la sa me marque erreur de compilation for sans next

      merci
  3. j'ai écris le code en modifiant la ligne en gras
    Si tu veux utiliser une autre cellule c'est à cet endroit qu'il faut changer...
    maintenant pour nommer une cellule.

    Sous excel 97/2003 tu fais
    Click sur la cellule E2 dans notre exemple, Insertion / nom / Définir tu tapes num_ligne et click ok

    sous excel 2007 Formules / Définir un nom / définir un nom
    un raccourci en haut à gauche dans la feuille de calcul à gauche de fx il y a la zone de nom
    Tu tapes directement ton nom.

    Sub Ajout()
    Dim I As Integer
    Dim c As Variant
    Dim Derlig As Integer
    
    Derlig = Sheets(1).[A65535].End(xlUp).Row
    I = Sheets(1).Range("E2").Value 
    For Each c In Range("A2:A" & Derlig)
        If c.Row <> I Then
            c.Value = c.Value + 1
        End If
    
    Next
    
    
    End Sub
    1. salut, ouè trop bien sa marche merci et si je voudrai mette le chiffre de la ligne choisi a 0 celui la, tu sais ce qu'il faut que je rajoute merci
    2. salut, ouè trop bien sa marche merci et si je voudrai mette le chiffre de la ligne choisi a 0 celui la, tu sais ce qu'il faut que je rajoute merci
  4. si je voudrai mette le chiffre de la ligne choisi a 0 celui la

    Ben je crois que ça ne fera rien.

    car le principe est la comparaison du n° de ligne de la colonne A2 et Axxx avec la cellule E2

    comme la ligne 0 n'existe pas toutes les valeurs seront incrémentées de 1
    1. je me suis mal exprimé en faite j'aimerai remettre a zéro celle la case ou l'on n'a pas rajouté 1?? merci encore pour ton aide
  5. Bonne journée et tu mets résolu sur le premier post.
    Merci
    1. sur le premier post la où tu as posé ta question il y a des icones en haut à droite
      1. nan je vois rien peut ètre parce que je suis pas inscrit au site
        1. j'aimerai améliorer un peu ma macro,car la sa ajoute 1 a toute la colonne A et j'aimerai si c'est possible que sa s'arrète a la rangé X, dont X sera la valeur de la cellule G8

          si quelqu'un peut m'aider car j'essaie mais j'y arrive pas merci