numéroter les lignes d'une plage

L

lebreton22

Guest
Bonjour, étant peu habitué au VBA, je vous soumets ce problème:
A partir d'une liste, je trie un certain nombre d'éléments que je recopie dans une autre zone de la feuille.
je voudrais maintenant ajouter un numéro, de 1 à n (n étant le nombre de lignes de ma plage triée) dans une colonne.
est-ce quelqu'un a une idée sur le sujet ?
merci
 

Omicron

XLDnaute Junior
bonjour lebreton,

pour pouvoir répondre correctement à la question, il faudrait savoir deux choses
- est ce que d'une copie sur l'autre, chaque élément copié doit conserver le même n°, ou si le n° affecté peut changer.
- est ce que les n° 1 à N doivent être contigus ou pas

cordialement

omicron
 

Sylvie

XLDnaute Accro
Bonjour Lebreton22, Omicron, le forum

je ne suis pas sure de bien comprendre ta demande alors tu ne m'en voudras si je suis à côté de la plaque en te répondant.
Si tu souhaites le nombre de lignes d'une plage determinée, tu peux utiliser la fonction NBVAL(plage) ou en marge de ta plage triée rajouter une colonne en y placant la fonction =LIGNE(B1) ou =LiGNE(B1)-1 si ta colonne démarre en ligne 2. Cette fonction te renvoie tout simplement le numéro de la ligne.

Bonne soirée
 
L

lebreton22

Guest
en joignant le fichier test, je pense que ce sera plus facile :
en A2 j'ai une liste déroulante qui permet de choisir une discipline.
Le bouton 'extraire' me permet de recopier à partir de F9 les deux premières colonnes de la plage .
Je voudrais donc pouvoir numéroter mon extraction à partir de E9, de 1 à n.
en espérant pouvoir t'éclairer sur mes souhaits
merci beaucoup [file name=dominante.zip size=30216]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/dominante.zip[/file]
 

Pièces jointes

  • dominante.zip
    29.5 KB · Affichages: 14
L

lebreton22

Guest
en joignant le fichier test, je pense que ce sera plus facile :
en A2 j'ai une liste déroulante qui permet de choisir une discipline.
Le bouton 'extraire' me permet de recopier à partir de F9 les deux premières colonnes de la plage .
Je voudrais donc pouvoir numéroter mon extraction à partir de E9, de 1 à n.
en espérant pouvoir t'éclairer sur mes souhaits
merci beaucoup [file name=dominante_20050724203537.zip size=30216]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/dominante_20050724203537.zip[/file]
 

Pièces jointes

  • dominante_20050724203537.zip
    29.5 KB · Affichages: 9

Sylvie

XLDnaute Accro
Bonsoir,

ci joint ton fichier en retour
J'ai également rajouté le nom d'une zone 'Noms' F10:F44

Dis moi si cela te convient

A+


[file name=essaidominantepe2.zip size=30342]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/essaidominantepe2.zip[/file]
 

Pièces jointes

  • essaidominantepe2.zip
    29.6 KB · Affichages: 18
L

lebreton22

Guest
merci beaucoup pour ta vitesse de réponse.
Il me restera (j'essaierai de voir cela demain) à construire une macro pour définir une zone d'impression variable allant de E1 à H... en fonction de la taille de la sélection.
Merci
 

Omicron

XLDnaute Junior
Bonsoir Lebreton et Sylvie,

En complément à la réponse de Sylvie, vous trouverez en pièce jointe une solution qui si j'ai bien compris le problème, devrait convenir.

=================================================
Sub extraire()

Dim TblInp As Range 'Table Entrée (Source Copy)
Dim TblOut As Range 'Table Sortie (Destination Copy)

' Effacement du contenu de la table Entrée
Set TblOut = Range('F9:G9').CurrentRegion
If TblOut.Rows.Count > 1 Then
Set TblOut = TblOut.Offset(1).Resize(TblOut.Rows.Count - 1)
TblOut.ClearContents
End If

' Copy Filtrée de la table Entrée dans la Table Sortie
Set TblInp = Range('A10').CurrentRegion
TblInp.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range('A1:A2'), _
CopyToRange:=Range('F9:G9'), Unique:=False

' Numérotation des lignes (Colonne 1 de Table Sortie)
Set TblOut = Range('F9:G9').CurrentRegion
If TblOut.Rows.Count > 1 Then
Set TblOut = TblOut.Offset(1).Resize(TblOut.Rows.Count - 1, 1)
i = 1
For Each Cel In TblOut.Cells
Cel.Value = i
i = i + 1
Next Cel
End If

End Sub
===============================================

Cordialement.

:) Omicron [file name=Numerotation.zip size=31561]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Numerotation.zip[/file]
 

Pièces jointes

  • Numerotation.zip
    2.3 KB · Affichages: 21
  • Numerotation.zip
    2.3 KB · Affichages: 21
  • Numerotation.zip
    2.3 KB · Affichages: 17

Omicron

XLDnaute Junior
Bonsoir à tous,

Petite erreur dans un commentaire de la séquence de code envoyée dans le précédent message :

Il faut lire :
' Effacement du contenu de la table Sortie'
et Non pas
' Effacement du contenu de la table Entrée''

Parcontre le code est correct.

En vous priant de m'excuser pour cette étourderie ...

:) Omicron
 

Omicron

XLDnaute Junior
Bonsoir à tous,

Merci à Thierry pour son message ...

Pour toi le Breton (Nous sommes quasiment voisins puisque j'habite Nantes) voici en pièce jointe une réponse un peu plus élaborée à ta dernière question.

N'hésite pas à me recontacter si tu as besoin d'explications. Il te faudra peut-être un peu de patience car je suis actuellement en vacances et n'ai pas toujours une connexion internet sous la main ...

Cordialement

:) Omicron [file name=Enseignants.zip size=43642]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Enseignants.zip[/file]
 

Pièces jointes

  • Enseignants.zip
    42.6 KB · Affichages: 14

Discussions similaires

Réponses
7
Affichages
365

Statistiques des forums

Discussions
312 671
Messages
2 090 764
Membres
104 658
dernier inscrit
amomo