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

Macro : suppression de ligne

  • Initiateur de la discussion Initiateur de la discussion VBA-beginner
  • 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

VBA-beginner

Guest
Bonjour,

Etant debutant (j'ai fait ma premiere macro automatique hier..), j'aurais besoin de vos lumieres en attendant de me perfectionner sur vba.

J'ai un fichier issu issu de basse de donnée.
Je compte faire une tache plannifié windows pour executer ce fichier, le convertir en xls et executer une macro qui me mettrai en forme la feuille pour sortir un TCD qui va bien (reporting de prod).

On va y aller par etape ; commencons par la macro excel.

1/ a la fin de mon bloc de données (sur 7 ou 8 colonnes et un nombre de ligne allant de 200 à 1500 selon lesjours) j'ai un texte "Xlignes affectées". Je souhaiterais supprimer ce texte.

2/ je veux inserer une colonne qui me calcule une prod en fonction d'une autre colonne. Mais comment recopier la formule uniquement sur les lignes ou j'ai des données et non pas sur les 65535 lignes ...

3/ je souhaite supprimer les lignes suivant le critere sur la colonne que je viens d'ajouter : prod inférieur a X ou superieur a Y


Merci bcp de vos reponses.
Au passage y a til un bouquin qui surpasse les autres concernant l'apprentissage sur vba pour les debutants ?
 
Re : Macro : suppression de ligne

Bonjour et bienvenue,

Pas trop le temps de répondre en détail à ta question mais, même si c'est un peu trop sophistiqué pour un débutant, essaye de comprendre ce qu'il y a dans ce fil en déroulant la macro en pas à pas et, peut être, de l'adapter à ton cas en attendant qu'un autre xldien passe par là.

Cordialement
 
Re : Macro : suppression de ligne

Bonjour VBA-beginner, joss, Spit et le forum

Si tu ne comprends pas tout au fil, et que dans le même temps il faut t'orienter, on risque de tourner en rond....

Regardes mieux ce fil, analyses-le et sur chacun des points que tu ne comprends pas, tu poses les questions.

Mais, comme l'a si bien dit Spit, pour un débutant, c'est peut-être aussi vouloir voler plus haut que la portée des ailes....

En VBA, il faut aller lentement et comprendre, ensuite on monte une autre marche....

Vouloir aller trop vite, c'est la dégringolade assurée et sans garantie de pouvoir remonter un peu....

A te, vous lire.

Jean-Pierre
 
Re : Macro : suppression de ligne

Re,
Bonsoir Jeanpierre😉,

Comme tu l'indiques en préambule et comme te le souffle jeanpierre
On va y aller par etape ; commencons par la macro excel.
1/ a la fin de mon bloc de données (sur 7 ou 8 colonnes et un nombre de ligne allant de 200 à 1500 selon lesjours) j'ai un texte "Xlignes affectées". Je souhaiterais supprimer ce texte.
Pour identifier la fin de ton bloc tu peux utiliser ce post (La remarque de Fred62500 concernant Excel 2007, la formulation est bonne si Excel 2003 ) ou ceux (1ère ligne en gras) ci si Excel 2007.
Pour supprimer le texte l'enregisteur de macro te donnera la formulation.
2/ je veux inserer une colonne qui me calcule une prod en fonction d'une autre colonne. Mais comment recopier la formule uniquement sur les lignes ou j'ai des données et non pas sur les 65535 lignes ..
.Pour identifier la fin de ton bloc même principe qu'en 1/
Pour recopier l'enregistreur de macro avec la fonction copier coller te donnera une 1ère méthode simple.
3/ je souhaite supprimer les lignes suivant le critere sur la colonne que je viens d'ajouter : prod inférieur a X ou superieur a Y
Utilisation de l'instruction If...Then Else End if

A toi de jouer, tester, comprendre, modifier et de nous présenter un début de ton travail. On t'aidera à peaufiner.

Cordialement
 
Re : Macro : suppression de ligne

j'ai trouvé une autre méthode peut etre plus simple pour supprimer ma ligne ; je fais une recherche sur le texte et je supprime la ligne active.

par contre, pour recopier ma cellule, je fais atteindre / cellule vide ; il me selectionne bien toute la colonne mais aussi deux lignes sous le tableau qui sont pourtant vides..
 
Re : Macro : suppression de ligne

Re,
par contre, pour recopier ma cellule, je fais atteindre / cellule vide ; il me selectionne bien toute la colonne mais aussi deux lignes sous le tableau qui sont pourtant vides..
Je n'utilise jamais cette fonction...(J'ai d'ailleurs eu du mal à la trouver) Mais à priori, si Excel te sélectionne ces lignes c'est que tu as eu des info dedans que tu as effacées. Si tu fermes en enregistrant ton fichier puis le réouvre: tu verras qu'il n'y a plus de problème.

Cordialement
 
Re : Macro : suppression de ligne

j'ai trouvé une formule qui me permet d'identifier le numero de ma derniere ligne (donc j'aurais la variable lignebas = 45 par exemple)

si je lui dit de recopier la formule sur la colonne jusqu'a la ligne 45 , comment dois-je l'ecrire ?
Selection.AutoFill Destination:=Range("B1:B45"), Type:=xlFillDefault
Range("B1:B45").Select
En clair, comment remplacer B45, par B'lignebas' . Je n'arrive pas a trouver la syntaxe
 
Re : Macro : suppression de ligne

impeccable.
j'ai bien avancé.. j'ai fait la commande du tableau croisé dynamique en automatique ca m'a l'air un peu plus compliqué comme commande.

il me reste a supprimer les lignes ne répondant pas a un certain critere (> ou < à des valeurs) sur une colonne.

J'ai pensé a une boucle mais le probleme est qu'a chaque suppression, le nombre de ligne décrémente de 1. Donc si j'ai deux lignes a la suite a supprimer, le me zappera la seconde, non ?
 
Re : Macro : suppression de ligne

Re,

Lorsqu'on supprime des lignes dans une boucle, il faut procéder par décrémentation :

au lieu de :
Code:
For i=1 to 10
...
Next
il faut utiliser :
Code:
For i=10 to 1 step -1
...
Next
Cordialement
 
Re : Macro : suppression de ligne

voila ce que j'ai fait

Dim i As Integer
For i = lignebas To 1 Step -1
If Cells(i, 7) < 0.06 Then
Rows(i).Delete
i = i - 1
End If
Next

Il me sort une erreur "incompatibilite de type" et erreur de type '13'
sur la ligne If Cells...
 
- 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
6
Affichages
662
Réponses
3
Affichages
879
Réponses
2
Affichages
644
M
Réponses
3
Affichages
471
L
Réponses
9
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…