Problème avec des lignes fusionnées

S

SubSony

Guest
Bonjour tout le monde !!!

Alors voila mon soucis : je veux parcourir les lignes d'une colonne (dont les lignes sont fusionnées deux par deux...) pour récupérer des noms. Et il semblerait que la fusion des lignes, vba aime pas trop... Quand je fais un débugage pas à pas il me prend bien les deux premiers noms, il ne me trouve rien dans la troisième, il me trouve un nom en quatrième et il sort... Alors déja pourquoi qu'il sort pas avant (quand il a trouvé la ligne vide) et du coup pourquoi il s'arrète aprés !!! Si j'avais encore des cheuveux je me les arracherais !!! Je met mon code...

Code:
Sub Initialisation()

    Dim i As Integer, j As Integer
    Dim Cel As Range
    Dim Entree As String
    
    Set Cel = Worksheets('EdT Prof 2005 - 2006 Sem A').Range('A2')

    For i = 0 To Cel.End(xlDown).Row - 1
        Entree = Cel.Offset(i)
        With Interface
            For j = 0 To .Prof_Nom.ListCount - 1
                If .Prof_Nom.List(j) > Entree Then
                    Exit For
                End If
            Next j
            .Prof_Nom.AddItem Entree, j
        End With
    Next i
    Worksheets('Absences 2005 - 2006').Select
    Interface.Jour = Cel.End(xlDown).Row - 1
End Sub

Si quelqu'un arrive à me dépatouiller ça ce serait super cool !!! :lol:
Merci d'avance les gens !!
 
S

SubSony

Guest
J'ai déja essayé le step 2... Mais il me met encore moins de noms...
Ce qui est bizard c'est que Cel.End(xlDown).Row renvoie un numéro de ligne et pas un nombre de ligne normalement et là quand j'exécute la macro il me trouve que Cel.End(xlDown).Row est égale à 4... Mais comme je commence en A2, qu'il me trouve trois noms on arrive à A6... Je pige pas...
 
S

SubSony

Guest
Ben il est où mon fichier ???!!!??? L'a pas envoyé mon fichier ???!!!??? Retentage... Arg !!! J'avais pas lu : Zipé le file !!! Je recommence... Mille excuses !!! :lol: [file name=Test_20051025142935.zip size=11158]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Test_20051025142935.zip[/file]
 

Pièces jointes

  • Test_20051025142935.zip
    10.9 KB · Affichages: 11

Nikolaï

XLDnaute Nouveau
Voilà ce la devrait aller maintenant

Dim j As Integer, CELL As Range

LAST_ROW = Cells.SpecialCells(xlCellTypeLastCell).Row

For Each CELL In Range('A2:A' & LAST_ROW)
If CELL <> '' Then
With Interface
For j = 0 To .Prof_Nom.ListCount - 1
If .Prof_Nom.List(j) > Entree Then
Exit For
End If
Next j
.Prof_Nom.AddItem CELL, j
End With
End If
Next

Essaie et dis moi si cela marche
 

soft

XLDnaute Occasionnel
Salut SubSony, Nicolaï,

Cette fois je poste après et pas en même temps.
La sol de Nicolaï a l'air super, comme j'ai aussi regardé je vous livre au cas où .

Sub Initialisation()

Dim i As Integer, j As Integer
'Dim Cel As Range
Dim Entree As String

'Set Cel = Worksheets('Feuil1').Range('A2')

'For i = 0 To Cel.End(xlDown).Row - 1 Step 2
i = 2
While Range('A' & i).Value <> ''

'Entree = Cel.Offset(i)
Entree = Range('A' & i).Value

With Interface
For j = 0 To .Prof_Nom.ListCount - 1
If .Prof_Nom.List(j) > Entree Then
Exit For
End If
Next j
.Prof_Nom.AddItem Entree, j
End With

'Next i
i = i + 2
Wend

Worksheets('Feuil1').Select
'Interface.Jour = Cel.End(xlDown).Row - 1
Interface.Jour = i - 1
End Sub

J'ai laissé les anciennes lignes en commentaires pour voir mieux voir ce qui change.
 

Discussions similaires

Réponses
2
Affichages
154
Réponses
7
Affichages
372

Membres actuellement en ligne

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise