Numéroter plage de cellules

recoverybis

XLDnaute Nouveau
Bonjour,
je me retourne une fois de plus vers les plus aguerris et si l'un d'entre vous peut me consacrer un peu de son temps je lui en saurai gré. voilà ma problématique, je gère une base de données dans laquelle se trouve plus d'un centaine d'usagers bénéficiant de livraison de plateaux repas à domicile que je m'efforce d'améliorer au fils du temps. Jusqu'alors à chaque nouvelle insertion j'attribue un numéro dans la colonne de gauche ce qui implique là renumérotation de toutes ma plage de cellule pour ce faire je me positionne sur la cellule n°1 et n°2 de la colonne A et j'étire jusqu'en bas mais cette méthode s'avère fastidieuse et chronophage lorsqu'il y a des entrées simultanées alors grossièrement à l'aide d'une macro je souhaiterais me positionner en cellule A1 descendre jusqu'à la cellule ayant pour valeur 1 et incrémenter de 1 jusqu'à la première cellule vide. j'ai bien essayé avec une condition si imbriquée dans une boucle do loop until mais sans succès. Pour plus de confort, je joins le fichier et merci à ceux qui pourront m'aider.

Cordialement
 

Pièces jointes

  • AGESTIONREPAS_2019_béta.xlsm
    1.8 MB · Affichages: 22

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

Etonnant, les deux macros font la même: elles font leurs numéro :D

Pour l'adaptation, c'est pas compliqué
Mais avant, il faut se mettre dans l'ambiance ;)
https://www.youtube.com/watch?v=01cSjVrzqDQ
VB:
Sub NumerologieRetourDAffectionEloigneLeMalin()
Dim LIG&
LIG = Cells(Rows.Count, 2).End(3).Row
Dim Coco: Coco = Array(1, 2)
[A1:A2] = Application.Transpose(Coco): [A1:A2].AutoFill Range("A1:A" & LIG), 0
End Sub

Une variante qui fait aussi du numéro sa vocation ;)
VB:
Sub Top50etNumero1()
With Cells(1).Resize(Cells(Rows.Count, 2).End(3).Row)
.Formula = "=ROW()": .Value = .Value
End With
End Sub

EDITION: Une petite dernière (cogitée au saut du lit ;) )
VB:
Sub NumeroZoTableau()
Dim X&: X = Cells(Rows.Count, 2).End(3).Row
[A1].Resize(X) = Evaluate("=ROW(A1:A" & X & ")")
End Sub
 
Dernière édition:

recoverybis

XLDnaute Nouveau
Bonsoir le fil, le forum

Etonnant, les deux macros font la même: elles font leurs numéro :D

Pour l'adaptation, c'est pas compliqué
Mais avant, il faut se mettre dans l'ambiance ;)
https://www.youtube.com/watch?v=01cSjVrzqDQ
VB:
Sub NumerologieRetourDAffectionEloigneLeMalin()
Dim LIG&
LIG = Cells(Rows.Count, 2).End(3).Row
Dim Coco: Coco = Array(1, 2)
[A1:A2] = Application.Transpose(Coco): [A1:A2].AutoFill Range("A1:A" & LIG), 0
End Sub

Une variante qui fait aussi du numéro sa vocation ;)
VB:
Sub Top50etNumero1()
With Cells(1).Resize(Cells(Rows.Count, 2).End(3).Row)
.Formula = "=ROW()": .Value = .Value
End With
End Sub

EDITION: Une petite dernière (cogitée au saut du lit ;) )
VB:
Sub NumeroZoTableau()
Dim X&: X = Cells(Rows.Count, 2).End(3).Row
[A1].Resize(X) = Evaluate("=ROW(A1:A" & X & ")")
End Sub
mille merci staple 1600 j'ai testé le première et ça fonctionne je testerai les autres bien sûr
Bien cordialement
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

Sinon pour entretenir ton agilité digitale et prodiguer douce caresse à ta souris (ou plutôt à son bouton gauche)
Un début à la macro, le reste à la mano
(solution déjà donnée par Modeste geedee dès le message#2)
VB:
Sub Numero_à_la_Mano()
[A1:A2] = [=Transpose({1,2})]: [A1:A2].Select
End Sub
Donc
1) tu lances la macro
2) tu utilises ta souris comme expliqué par Modeste
Bonsour®
sans formule sans macro ...
;)je me positionne sur la cellule n°1 et n°2 de la colonne A (A6;A7)et je doubleclick sur l'angle inférieur droit de cette sélection !
éventuellement je re-doubleclick pour chaque entrée nouvelle

Bilan: tu as aussi tes numéros et tu te sens mieux en dedans de toi car tu viens de revaloriser ton image en cessant cette propension à la fainéantise macrotique ;)
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Bonjour à tous,
C'est d'autant plus drôle qu'en l'état la numérotation en colonne A ne sert à rien.
Puisqu'elle peut changer complètement quand on insère ou supprime des lignes :rolleyes:
A+
:rolleyes::p
c'est ce qui m'est apparu à la première lecture...

Toutes nos élucubrations resteront vaines tant que l'on ne saura pas :
- l'utilité de ce N° d'ordre
- la nécessité de redéfinir ce n° d'ordre
- quels sont les critères d'ordre d'insertion d'un nouvel inscrit (alphabétique, Age, éloignement, revenu ou autres...)

une réponse ou explications permettrait éventuellement l'étude d'un algorithme de calcul de ce N° ordre indépendamment de la position physique dans le fichier.

[MDR]
Dranreb à dit:
— Je suis le N° 2…
— Qui est le N° 1 ?
— Vous êtes le N° 6 !
Nan.. Nan .. Nan ...
- je suis le #2
- vous êtes le #8 !!
et puis quoi encore?
qui veux changer les N° d'ordre ???
[/MDR]
:rolleyes::p:D:cool::)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 164
Messages
2 085 869
Membres
103 007
dernier inscrit
salma_hayek