trouver le n° de la ligne qui ebergera un nouveau nom (alphabetique)

charette63

XLDnaute Occasionnel
bonjour à tous et toutes

je suis à la recherche d'un code qui me permettrait d'inscrire dans un textbox le numero de la ligne dans laquelle s'inserera un nom et prenom renseigné dans deux autres text box.

La recherche devrait s'effectuer dans un range commençant à A4 et se terminer au premier nom "remplacement"

je me relis, et remarque que ce n'est pas tres clair, soyons un peu plus schematique:

dans un USF, le textbox1 dans lequel on inscrit un nom, le textbox2 dans lequel on inscrit un prenom, clic sur le bouton1

resultat recherché: dans le textbox3, inscription du numéro de la ligne qui aurait été celle si on avait inséré le nom et prenom dans la liste de la feuille de façon alphabétique.

J'ai fait plusieurs recherches avec mes pauvres connaissances en vba, mais je n'ai rien trouvé. Je n'ai donc aucun bout de code pour débuter.

Je joint un petit fichier quelque peu préparé.

Merci

cordialement
Thierry
 

Pièces jointes

  • test12.xls
    33 KB · Affichages: 52
  • test12.xls
    33 KB · Affichages: 54
  • test12.xls
    33 KB · Affichages: 52

charette63

XLDnaute Occasionnel
Re : trouver le n° de la ligne qui ebergera un nouveau nom (alphabetique)

un petit edit,

je suis au boulot, et le serveur de la boite m'empeche d'ouvrir les pieces jointes. Si vous aviez donc la gentillesse de coller le code avec votre message, se serait sympa

merci
 

tototiti2008

XLDnaute Barbatruc
Re : trouver le n° de la ligne qui ebergera un nouveau nom (alphabetique)

Bonjour charette,

resultat recherché: dans le textbox3, inscription du numéro de la ligne qui aurait été celle si on avait inséré le nom et prenom dans la liste de la feuille de façon alphabétique.

Et est-il normal que la liste ne soit pas dans l'ordre alphabétique (remplacement 1, remplacement 2...) ?
 

charette63

XLDnaute Occasionnel
Re : trouver le n° de la ligne qui ebergera un nouveau nom (alphabetique)

bonjour tototiti,
merci de t'investir,

la liste est dans l'ordre alphabetique jusque les "remplacement", les "remplacement" ne doivent pas entrer en compte dans le classement alphabetique

j'aurais effectivement du le preciser dans cette phrase:

resultat recherché: dans le textbox3, inscription du numéro de la ligne qui aurait été celle si on avait inséré le nom et prenom dans la liste de la feuille de façon alphabétique.
 

pierrejean

XLDnaute Barbatruc
Re : trouver le n° de la ligne qui ebergera un nouveau nom (alphabetique)

bonjour charette

Salut tototiti :) :)

Problème interessant en soi mais quelle finalité ????

Code:
Private Sub CommandButton1_Click()
Dim tablo()
ReDim tablo(0)
If TextBox1 = "" Or TextBox2 = "" Then
  MsgBox ("nom et prenom S.V.P")
  Exit Sub
End If
For n = 4 To Range("A65536").End(xlUp).Row
  If Range("A" & n) = "remplacement" Then Exit For
  tablo(UBound(tablo)) = Range("A" & n) & Range("B" & n)
  ReDim Preserve tablo(UBound(tablo) + 1)
Next n
  tablo(UBound(tablo)) = TextBox1 & TextBox2
For n = LBound(tablo) To UBound(tablo)
 For m = LBound(tablo) To UBound(tablo)
    If tablo(m) > tablo(n) Then
      temp = tablo(n)
      tablo(n) = tablo(m)
      tablo(m) = temp
    End If
 Next m
Next n
For n = LBound(tablo) To UBound(tablo)
  If tablo(n) = TextBox1 & TextBox2 Then
    TextBox3 = n + 4
  End If
Next n
End Sub
 
et pour afficher l'userform2 en arrivant sur la feuille1
 
Sub test()
Application.EnableEvents = True
End Sub
 

charette63

XLDnaute Occasionnel
Re : trouver le n° de la ligne qui ebergera un nouveau nom (alphabetique)

place le "remplaçant 6" (qui est le dernier de la liste(par ex)) par le nom et prenom du nouveau membre.
je cherche "mentalement" la ligne dans laquelle il doit s'inserer
je selectionne cette ligne, "insertion"
je coupe la derniere ligne du tableau ("remplacement 6" qui est devenu le nouveau nom) et je la colle dans la nouvelle ligne.

De cette façon, je ne perd aucune liaison.

j'ai donc créé une macro qui effectue ces manipulations, sauf qu'il fallait toujours rechercher "mentalement" le numero de la ligne à inserer.

voilà c'est simple
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 914
Membres
103 983
dernier inscrit
AlbertCouillard