manuthemalicious
XLDnaute Nouveau
Bonjour,
J'ai un problème avec la macro ci dessous dont le but est de supprimer un certain nombre de lignes de tableaux sur une même feuille.
Je définis tout d'abord des nom de cellules qui me servent à sélectionner les tableaux en utilisant range(nom_tableau)...
Le soucis est que la macro fonctionne sur quelques tableaux mais pas sur l'ensemble (lancer la macro effacer pour visualiser le resultat).
De plus, certaines zone nommées n'existent plus (ligne_1_co2 par exemple).
Là, je sèche pas mal et j'aurai besoin d'un petit coup de pouce.
A noter que je débute en programmation de macro.
Public bilan As String
Public bilan2 As String
Sub effacer_ligne()
ActiveWorkbook.RefreshAll
'lecture du nombre de ligne du tableau
Range(bilan).Select
ligne = Range(bilan).Row
colonne = Range(bilan).Column
nb_lignes_reel = Cells(ligne, colonne).CurrentRegion.Rows.Count
'nb_batiment est issu d'une autre feuille de calcul et est ici forcé à 2.
nb_batiment = 2
nb_lignes_a_supprimer = nb_lignes_reel - nb_batiment
For i = 1 To nb_lignes_a_supprimer
Range(bilan).End(xlDown).EntireRow.Delete
nb_lignes_supprimer = nb_lignes_supprimer + 1
Next i
End Sub
Sub effacer()
Sheets("Ventilation").Activate
ActiveWorkbook.RefreshAll
bilan = "ligne_1_rachat"
bilan2 = "ligne_2_rachat"
Call effacer_ligne
ActiveWorkbook.RefreshAll
bilan = "ligne_1_chiffrage"
bilan2 = "ligne_2_chiffrage"
Call effacer_ligne
ActiveWorkbook.RefreshAll
bilan = "ligne_1_extension"
bilan2 = "ligne_2_extension"
Call effacer_ligne
ActiveWorkbook.RefreshAll
bilan = "ligne_1_cable"
bilan2 = "ligne_2_cable"
Call effacer_ligne
ActiveWorkbook.RefreshAll
bilan = "ligne_1_co2"
bilan2 = "ligne_2_co2"
End Sub
D'avance merci
J'ai un problème avec la macro ci dessous dont le but est de supprimer un certain nombre de lignes de tableaux sur une même feuille.
Je définis tout d'abord des nom de cellules qui me servent à sélectionner les tableaux en utilisant range(nom_tableau)...
Le soucis est que la macro fonctionne sur quelques tableaux mais pas sur l'ensemble (lancer la macro effacer pour visualiser le resultat).
De plus, certaines zone nommées n'existent plus (ligne_1_co2 par exemple).
Là, je sèche pas mal et j'aurai besoin d'un petit coup de pouce.
A noter que je débute en programmation de macro.
Code:
Public bilan2 As String
Sub effacer_ligne()
ActiveWorkbook.RefreshAll
'lecture du nombre de ligne du tableau
Range(bilan).Select
ligne = Range(bilan).Row
colonne = Range(bilan).Column
nb_lignes_reel = Cells(ligne, colonne).CurrentRegion.Rows.Count
'nb_batiment est issu d'une autre feuille de calcul et est ici forcé à 2.
nb_batiment = 2
nb_lignes_a_supprimer = nb_lignes_reel - nb_batiment
For i = 1 To nb_lignes_a_supprimer
Range(bilan).End(xlDown).EntireRow.Delete
nb_lignes_supprimer = nb_lignes_supprimer + 1
Next i
End Sub
Sub effacer()
Sheets("Ventilation").Activate
ActiveWorkbook.RefreshAll
bilan = "ligne_1_rachat"
bilan2 = "ligne_2_rachat"
Call effacer_ligne
ActiveWorkbook.RefreshAll
bilan = "ligne_1_chiffrage"
bilan2 = "ligne_2_chiffrage"
Call effacer_ligne
ActiveWorkbook.RefreshAll
bilan = "ligne_1_extension"
bilan2 = "ligne_2_extension"
Call effacer_ligne
ActiveWorkbook.RefreshAll
bilan = "ligne_1_cable"
bilan2 = "ligne_2_cable"
Call effacer_ligne
ActiveWorkbook.RefreshAll
bilan = "ligne_1_co2"
bilan2 = "ligne_2_co2"
End Sub
Code:
D'avance merci