Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Probleme de formule...

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

V

Virginie

Guest
Bonjour,

Désolée par avance mais je me casse la tete depuis 1 semaine à essayer d'ecrire un prgramme vba pour une formule...

La question :
Soit des lignes les 1 sous les autres,
des donnees dans ces lignes qui proviennent d'une autre feuille,

Comment, si la premiere ligne est vide substituer la deuxieme ligne a la premiere et ainsi de suite... du style pour qu'il n'y ai pas de ligne a blanc...

D'avance merci pour votre soutient.

Virginie
 
Bonsoir Virginie,

Un petit exemple de ce que tu peux faire. Cette macro supprime chaque ligne si une cellule dans la colonne A ( entre A2 et A5) est vide.

Sub supprimer()
Dim cell As Range

For Each cell In Range("A2:A5")
If cell.value = "" then
cell.entirerow.delete
End If
Next cell
End Sub

SI pb n'hésite pas

@+ Dan
 
Oui c'est déjà un bout de formule merci 🙂

Mais je ne veux pas ke cela les suppriment mais qu'il n'y ait plus de trou vide entre les lignes.

Du style si A4 et A5 sont remplies et que A2 et A3 sont vides... que cela remplisse A2 et A3 au lieu des autres...

Encore merci d'avance 🙁
 
bonsoir virginie, dan, le forum

Public Sub vev()
Dim i As Integer
Application.ScreenUpdating = False
For i = 100 To 1 Step -1
If Rows(i).Cells.Find("*") Is Nothing Then
Rows(i).Delete
End If
Next i
Application.ScreenUpdating = True
End Sub

cette macro supprime les lignes vides de la ligne 100 à la ligne 1 quelle que soit les colonnes rempli.

Si tes données dépassent les 100 lignes remplace : for i = 100 , par ce que tu veux.

Salut à vous deux
Hervé
 
Merci beaucoup....

Mais y a pas un moyen de pas supprimer les cellules mais de les decaler... les remplies en haut et les vides en bas..?

Encore merci... 🙂

Suis vraiment nulle... mais bon...
 
re

essaye ceci , si c'est cela que tu veux on cherchera une macro plus rapide que le scanne de cellule.

Public Sub vev2()
Dim ligne As Integer
Dim colonne As Integer

Application.ScreenUpdating = False
For colonne = 10 To 1 Step -1
For ligne = 50 To 1 Step -1
If Cells(ligne, colonne) = "" Then
Cells(ligne, colonne).Delete Shift:=xlUp
End If
Next ligne
Next colonne
Application.ScreenUpdating = True
End Sub

Salut
Hervé
 
Re Virginie,

Juste une question, un simple Tri ou filtre élaboré (menu / données) ne ferait pas l'affaire ?

Sinon place un fichier avec des données non confidentielles, on pourra mieux cerner ce que tu veux faire.

@+ Dan
 
- 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
12
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…