Microsoft 365 Macro modification que je ne sais pas faire

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaite une beau dimanche :)

Voici ci-dessous un code que j'ai besoin de modifier mais je n'y arrive pas malgré mes tentatives et recherches.
Pourriez-vous m'aider ?

VB:
Sub Lgn_vides()
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
ActiveSheet.Unprotect Password:=""
    Sheets("RdV_faits").Select
        ActiveSheet.Cells(Rows.Count, "a").End(xlUp)(2).Select
        'Rows("107:10015").Select '???
        Selection.Delete Shift:=xlUp
        'Columns("R:ZZ").Select '???' R à dernière col vide
        Selection.Delete Shift:=xlToLeft
    Range("A1").Select
ActiveSheet.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
L'objectif est de supprimer les lignes et colonnes vides
Codes que je cherche à modifier :
Supprime toutes les lignes à partir de la 1ère cellule A (cellule active) vide
1er..... Code que je cherche à modifier : "'Rows("107:10015").Select '???" par de la 1ère ligne active à la dernière ligne vide,
Supprime toutes les colonnes à partir de la col "R" jusqu'à la dernière colonne vide

2eme Code que je cherche à modifier : "'Columns("R:ZZ").Select '???' R à dernière col vide

Si vous voulez bien juste modifier mes codes ci-dessus, ça, je pourrai le comprendre :)
Si besoin, je ferai un fichier test.
Un grand Merci ... je continue mes recherches,
Amicalement,
lionel :)
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Usine à gaz,
Pour les lignes :
VB:
Debut = Range("A1").End(xlDown).Row
Fin = Range("A65500").End(xlUp).Row
Rows(Debut & ":" & Fin).Delete Shift:=xlUp
En supposant que la colonne A est remplie pour trouver début et fin.
Pour les colonnes :
Code:
DC = Cells(1, Columns.Count).End(xlToLeft).Column
Range(Cells(1, 18), Cells(1, DC)).Delete Shift:=xlToLeft
En supposant que les infos à repérer sont sur la ligne 1.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Depuis 2011et 6000 messages , j'ai pensé que vous auriez pu adapter.
Essayez pour voir :
VB:
Sub Lgn_vides()
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
ActiveSheet.Unprotect Password:=""
    Sheets("RdV_faits").Select
        ' Supprime toutes les lignes qui ont quelque chose en colonne A
        Debut = Range("A1").End(xlDown).Row
        Fin = Range("A65500").End(xlUp).Row
        Rows(Debut & ":" & Fin).Delete Shift:=xlUp
        ' Supprime toutes les colonnes qui ont quelque chose en ligne 1 à partir de la colonne R
        DC = Cells(1, Columns.Count).End(xlToLeft).Column
        Range(Cells(1, 18), Cells(1, DC)).Delete Shift:=xlToLeft
    Range("A1").Select
ActiveSheet.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
 

ChTi160

XLDnaute Barbatruc
Bonjour le Fil
Pourquoi ne pas juste effacer les données, plutôt que de supprimer les lignes?
Soit :
VB:
Rows(Debut & ":" & Fin).ClearContents
Et
Range(Cells(1, 18), Cells(1, DC)).ClearContents

Bonne fin de journée
Jean marie
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
Bonjour
je me disais aussi ;)ça sent le petrol dans le coin🤣🤣🤣
en chimie le fait de rendre une matière solide a l'etat gazeux s'appelle la sublimation
on l’appellera désormais la Lionellisation
LOL
diabolo.gif
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour ChTi160 :)

NON Jean-Marie l'objectif est de supprimer les vides
Codes que je cherche à modifier :
Supprime toutes les lignes à partir de la 1ère cellule A vide
1er..... Code que je cherche à modifier : "'Rows("107:10015").Select '???" par de la 1ère ligne active à la dernière ligne vide,
Supprime toutes les colonnes à partir de la col "R" jusqu'à la dernière colonne vide

2eme Code que je cherche à modifier : "'Columns("R:ZZ").Select '???' R à dernière col vide

Comme me le fait remarquer gentiment Sylvanu : "Depuis 2011et 6000 messages , j'ai pensé que vous auriez pu adapter"
Malheureusement, ne parlant pas un mot d'anglais, je resterai juste "NUL" en VBA mais si vous voulez bien juste modifier mes codes ci-dessus, ça, je pourrai le comprendre :)
lionel :)
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Alors expliquez mieux :
R à dernière col vide
La dernière colonne c'est la colonne XFD, moi je supprime toutes les colonnes de R à la dernière colonne qui contient quelque chose en ligne 1.
par de la 1ère ligne active à la dernière ligne vide,
La dernière ligne vide est la ligne 1048576. Moi je supprime toutes les lignes de la première à la dernière qui ont quelque chose en colonne A.
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Alors expliquez mieux :

La dernière colonne c'est la colonne XFD, moi je supprime toutes les colonnes de R à la dernière colonne qui contient quelque chose en ligne 1.

La dernière ligne vide est la ligne 1048576. Moi je supprime toutes les lignes de la première à la dernière qui ont quelque chose en colonne A.
lol ça me semble clair dans le code du #post 1 :
Supprimer les lignes vides
Pour les lignes
1 - ActiveSheet.Cells(Rows.Count, "a").End(xlUp)(2).Select
2 - 'Rows("107:10015").Select '???
3 - Selection.Delete Shift:=xlUp
Pareil pour les colonnes
:)
 

ChTi160

XLDnaute Barbatruc
Re
Je viens de comprendre ça !
"NON Jean-Marie l'objectif est de supprimer les vides"
Qui n'apparaissait pas avant lol
A partir de quelle colonne faut il vérifier les vides ?
Avec un truc du genre à partir de la colonne 1 "A"
VB:
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Pourquoi ne pas trier la BDD
Jean marie
 
Dernière édition:

Discussions similaires