Problème avec des lignes fusionnées

  • Initiateur de la discussion Initiateur de la discussion SubSony
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 !!
 
Bonjour SubSony

Je pense que c'est tout à fait possible. Est-ce que tu pourrais m'envoyer ton fichier ou quelquechose qui ressemble à ton fichier pour que je comprenne exactement ce que tu cherches.

Voilà, à plus

Christophe
 
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...
 
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

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
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
985
L
Réponses
9
Affichages
1 K
Retour