Effacement ligne automatique en VBA

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 !

baptbapt

XLDnaute Occasionnel
Bonjour tous le monde

J'ai un petit problème avec mon code d'effacement, j'ai du me planter dessus.

Son but supprimer les lignes ou n_obs a pour valeur "" rien, on peut pas faire plus simple quoi, et dès que valeur différente de "", on arrete la boucle.

Code:
'Effacement des lignes vides
'For z = 2 To Range("I65536").End(xlUp).Row
For Each z In Range("I2:I65536")
    If Cells(z, 9).Value = "" Then
    Rows(z).Delete shift:=xlUp
 End If
Next z

Je comprend plus, pourquoi sa arrive a moi!!!!, j'ai rien fait pourtant, je suis gentil.

n_obs et en colonne 9, et mes valeurs commence el ligne 2

Merci
 
Re : Effacement ligne automatique en VBA

Bonjour Baptbapt, bonjour le forum,

essaie comme ça :

Code:
Dim li As Long
Dim x As Long
 
li = Range("I65536").End(xlUp).Row
 
For x = li To 2 Step -1
    If Cells(li, 9).Value = "" Then Rows(li).Delete shift:=xlUp
Next x
 
Re : Effacement ligne automatique en VBA

Code:
Dim li As Long
Dim x As Long
 
li = Range("I65536").End(xlUp).Row
 
For x = li To 2 Step -1
    If Cells(li, 9).Value = "" Then
    Rows(li).Delete shift:=xlUp
    End If
Next x

veu rien savoir, ne supprime pas mes lignes

en plus je peut meme pas mettre mon fichier en pièce joint 4Mo, trop gros meme en le compressant
 
Re : Effacement ligne automatique en VBA

Les éléments a supprimer sont sur la feuille2

Je ne l'ai pas mis dans mon code, car c'est la page actice au moment ou je réalise cette modification.

J'ai essayer en mettant la macro d'effacement sur un autre module, mais toujours pas.
 
Re : Effacement ligne automatique en VBA

Bonjour Baptbapt, bonjour le forum,

Désolé en principe je teste toujours avant d'envoyer et là je ne l'ai pas fait et mal m'en a pris... Mauvaise variable utilisée li au lieu de x.

Code:
Sub Macro1()
Dim li As Long
Dim x As Long
 
li = Range("I65536").End(xlUp).Row
 
For x = li To 2 Step -1
    If Cells(x, 9).Value = "" Then
    Rows(x).Delete shift:=xlUp
    End If
Next x
End Sub

Édition

Hé m.... ! Je me suis fait encore gauler par José...
 
Re : Effacement ligne automatique en VBA

Bonjour le fil, bonjour le forum,

Je n'ai fais qu'un copier/coller des codes de Bapt au carré... J'ai ta tête dans le c... c'est vrai. Shift=xlUp ! j'avais même pas vu. Arrête de me casse les coudes et laisse-moi cuver en paix...
 
Re : Effacement ligne automatique en VBA

Autre petit plus

J'ai le nom de ma feuille de base qui s'apelle "......"
le nom change pour chaque simulation

Y as t'il un moyen de changer se nom en feuil1, pluis simple pour après lors du lancement du autre macro

Cela afin d'éviter de devoir changer le nom partout

Y a t'il une macro qui fasse, prenne page active, et change nom en "feuil1"

merci
 
Re : Effacement ligne automatique en VBA

C'est bon, j'ai rajouter
Code:
ActiveSheet.Name = "Feuil1"

pour changer le nom de ma feuille de départ
Truc tout bete

Mes pages de donées de départ sont des reconvertion en excel de page XML, elle conserve donce le nom de la sauvegarde, c'est pour cela que je voulais changer le nom.

Mais j'ai trouvé
 
Re : Effacement ligne automatique en VBA

autre chose encore

Code:
Dim e As Long
Dim z As Long
 
e = Range("D65536").End(xlUp).Row
For z = e To 2 Step -1 
    ActiveCell.FormulaR1C1 = "=RC[-5]/(24*3600)"
    Selection.NumberFormat = "h:mm:ss;@"
    ActiveCell.FormulaR1C1 = "=RC[-3]*100"
Next z

j'essaye de faire une boucle avec ces éléments, mais sa ne fonctionne pas
il me donne uniquement les données pour ma première cellule

calculer les heures en Colonne I
et le flight level en J

ceci sur toute les cases ou j'ai des valeurs A

Meme moi ji perd mon latin
 
Re : Effacement ligne automatique en VBA

Bonjour le fil, bonjour le forum,

Ben oui Baptbapt, ActiveCell c'est Activecell...

Code:
[LEFT]Dim e As Long
Dim z As Long[/LEFT]
 
[LEFT]e = Range("D65536").End(xlUp).Row
For z = e To 2 Step -1 
   Cells(z, 4).FormulaR1C1 = "=RC[-5]/(24*3600)"
   Cells(z, 4).NumberFormat = "h:mm:ss;@"
   Cells(z, 4).FormulaR1C1 = "=RC[-3]*100"
Next z[/LEFT]
 
- 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

Réponses
5
Affichages
837
Réponses
3
Affichages
310
Retour