Combler cellules vides d'une liste en remontant les cellules non vides

  • Initiateur de la discussion Initiateur de la discussion anto59
  • 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 !

anto59

XLDnaute Junior
Bonjour à tous,
un petit problème se pose à moi et mes recherches n'ont rien donné.

Je suis en train de créer un programme en visual basic, et lors de l'éxécution, je fais apparaitre plusieurs listes (avec des données provenant d'une base access) dans des colonnes. Mais parfois, il peut y avoir des cellules vides.

Comme l'indique le titre du sujet, j'aimerais éviter les trous dans la liste en remontant les cellules non vides.

Merci d'avance pour votre aide.
 
Re : Combler cellules vides d'une liste en remontant les cellules non vides

Bonjour anto59,

Les données sont liées à Access par des données externes ?
Si oui, le plus simple ne serait il pas de modifier la requête SQL qui pointe vers Access pour ne pas faire apparaître les vides ?
 
Re : Combler cellules vides d'une liste en remontant les cellules non vides

Bonjour anto59,

Voici un essai dans le fichier joint.
VB:
Private Sub Btn_Completer_Click()
Dim derLigne As Long, iLigne As Long

    With ThisWorkbook.Sheets("Feuil1")
        
        'récupérer la dernière ligne non vide de la colonne a
        derLigne = .Range("A" & .Rows.Count).End(xlUp).Row
        
        'boucler sur toutes les lignes (de la dernière à la première)
        For iLigne = derLigne To 1 Step -1
            'si la cellule A<iLigne> est vide, lui donner la valeur de A<iLigne+1>
            If .Range("A" & iLigne).Text = "" Then .Range("A" & iLigne).Value = .Range("A" & iLigne + 1).Value
        Next iLigne
    End With
End Sub
a+
 

Pièces jointes

Dernière édition:
Re : Combler cellules vides d'une liste en remontant les cellules non vides

Bonjour à vous deux,
tout d'abord merci pour vos réponses.

à mromain : merci mais ce n'est pas trop ce que je cherche vu que ça copie les cellules au lieu de les remonter.

à tototiti : c'est vrai que ça serait une solution à laquelle je n'est pas pensé.
Reste plus qu'à trouver comment utiliser la commande SELECT en enlevant les champ vide.
Merci
 
Re : Combler cellules vides d'une liste en remontant les cellules non vides

Re bonjour,
Tototiti,

Essaye avec ce code :
VB:
Private Sub Btn_Completer_Click()
Dim derLigne As Long, iLigne As Long

    With ThisWorkbook.Sheets("Feuil1")
        
        'récupérer la dernière ligne non vide de la colonne a
        derLigne = .Range("A" & .Rows.Count).End(xlUp).Row
        
        'boucler sur toutes les lignes (de la dernière à la première)
        For iLigne = derLigne To 1 Step -1
            'si la cellule A<iLigne> est vide, lui donner la valeur de A<iLigne+1>
            If .Range("A" & iLigne).Text = "" Then .Range("A" & iLigne).EntireRow.Delete
        Next iLigne
    End With
End Sub
a+
 
Dernière édition:
Re : Combler cellules vides d'une liste en remontant les cellules non vides

Bonjour, tototiti, mromain,
un code vu sur le site de JB, adapté à l'exemple fourni par mromain😉.
Je poste pour m'exercer et également pour que les VBAistes me corrigent ou complètent.
A+
Hello tout le monde

J'ai une liste de texte en colonne G a partir de G8 et au maximum G222

si il y a des cellule vider entre G8 et G222 je voudrait qu'il remonte l'information pour combler les vides
J'ai récupérer ce code qui répond presque a ce que je cherche, mais je n'arrive pas le modifier


version original

Private Sub Btn_Completer_Click()

With ThisWorkbook.Sheets("Feuil1")
[A:A].SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
End With
End Sub



version que j'ai modifier

Private Sub Btn_Completer_Click()

With ThisWorkbook.Sheets("test")
[G8:G222].SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
End With
End Sub

si quelqu'un aurait une piste ça serait cool 🙂
 
- 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

Discussions similaires

Retour