Incrémenter une colonne

Bonjour,

Je débute sur VBA. J'ai pour mission de créer un tableur excel permettant d'exposer ce que j'ai comme affaires dans mon portefeuille.

Un des pré requis est que les biens les derniers entrés figurent en premier. Pour cela j'ai créer un bouton affecté à une macro qui me permet de créer une nouvelle ligne. J'ai ensuite fait en sorte sur VBA que cette nouvelle ligne devienne la ligne 1.

Malheureusement je n'arrive pas à écrire le code pour que toute la colonne s'incrémente également.

Je vous joins une partie du fichier et vous remercie par avance pour votre réponse.

Elispse.

85test-pour-aide.xlsm (47.34 Ko)

bonjour,

Pourrais-tu envoyer ton fichier sous le format excel 2003 & non 2007, s'il te plaît?

Merci

Cordialement,

Alexandre

Très bien, le voici en PJ.

Merci,

Cordialement,

Elispse.

134test-pour-aide.zip (26.16 Ko)

et voilà en PJ ce que tu souhaites.

J'espère avoir répondu à tes questions.

A +

Alexandre

Alexandre,

Merci pour ta solution. Effectivement les cellules sont incrémentées mais les cellules créées ne sont pas numérotées.

Ainsi si je crée une nouvelle ligne ( clic droit, car la macro "ajout" ne fonctionne pas), la nouvelle ligne n'a pas de numéro mais celles d'en dessous deviennent bien 2, 3, 4...

??

Thanks for all.

Bonjour Elipse le forum

ta demande est simple à réaliser mais reste tout de même pas pratique pour la suite.

Cela revient a dire que ton numéro 1 va systématiquement être attribué à toutes tes entrées, les unes après les autres???

Pourquoi ne pas incrémenter justement ta colonne la ligne 1 prend le dernier chiffre + 1 ?? donc ta colonne 1 en ordre décroissant

Ce serait plus logique, surtout pour t'y retrouver dans quelques temps

a te relire

a+

Papou

Bonjour à tous,

2 solutions parmi d'autres

Sub InsertLigne()
Dim Lg%
    Lg = Range("a" & Rows.Count).End(xlUp).Row + 1 'dernière ligne +1
    Application.CutCopyMode = False
    Rows(16).Insert                                'insert ligne entière
    Range("a16") = 1
    Range("a17") = 2
    Range("a16:a17").AutoFill Destination:=Range("a16:a" & Lg), Type:=xlFillDefault
End Sub
Sub InsertLigne2()
Dim Lg%, i%
    Lg = Range("a" & Rows.Count).End(xlUp).Row + 1  'dernière ligne +1
    Application.CutCopyMode = False
    Rows(16).Insert                                 'insert ligne entière
    For i = 16 To Lg
        Cells(i, "a") = i - 15
    Next i
End Sub

Amicalement

Claude

119elispe-macro.xlsm (50.80 Ko)

si tu veux une réponse simple :

tu mets en A16 ligne(A16)-15

en A17 tu mets = A16+1

en A18 tu mets = A17+1

etc...

ensuite tu lances ta macro et ça devrait fonctionnait.

Alexandre

Merci à tous, (claude, papou et alexandre); Cela fonctionne avec les différentes solutions.

Très bonne journée et encore un grand merci pour votre réactivité.

Elispse.

Prends le bon réflexe de solder tes postes

a resolu3
Rechercher des sujets similaires à "incrementer colonne"