Macro suppression lignes + doublon

CAMPEN

XLDnaute Junior
Bonjour à tous,
Dans un fichier que je mets à jour de façon hebdomadaire (environ 50000 lignes), je souhaite mettre 2 macros :
macro 1 = suppression des lignes quand Nb de Ventes (colonne I) est vide ;
macro 2 = dérouler sur toutes les lignes la formule Doublon (colonne N) sachant que je ne sais pas en mettant à jour mon fichier combien j'aurai de lignes.
Merci d'avance de votre aide.
 

Pièces jointes

  • Suppression ligne.xls
    19.5 KB · Affichages: 100
  • Suppression ligne.xls
    19.5 KB · Affichages: 104
  • Suppression ligne.xls
    19.5 KB · Affichages: 110

Benjy

XLDnaute Occasionnel
Re : Macro suppression lignes + doublon

re, une piste pour la macro 2 :

Code:
For i = Sheets("feuil1").Range("A65536").End(xlUp).Row To 2 Step -1
Range("N" & i).select
ActiveCell.Formula ="=NB.SI($F$2:$F$25;[COLOR="Red"]F&i[/COLOR])"
next i

Pas sur de la syntaxe pour la partie en rouge, étant sur ooo je ne peux tester.

Edit : de plus si tu as beaucoup de lignes cette méthode risque d'être très lent.
Peut être vaut il mieux selectionner la plage entière et appliquer la formule d'un coup. Mais le je cède ma place au pro de la programmation VBA
 
Dernière édition:

CAMPEN

XLDnaute Junior
Re : Macro suppression lignes + doublon

Merci à tous les deux !
Pour la macro 1 c'est ok, ça fonctionne parfaitement. En revanche pour la macro 2 c'est moins évident. Ce que je souhaite c'est dérouler la formule du doublon en N2 sur toutes les lignes de mon fichier. Sachant que c'est un fichier que j'actualise régulièrement et que je ne sais donc pas de combien de lignes il sera fait. Je peux bien évidemment mettre la formule sur 65000 lignes, mais cela va alourdir le fichier... Merci d'avance
 

laetitia90

XLDnaute Barbatruc
Re : Macro suppression lignes + doublon

re bonjour une variante supprime & étire formule!!

Code:
Sub es()
 Application.ScreenUpdating = False
  [i2:i65000].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
  [n2].FormulaLocal = "=NB.SI($F$2:$F$25;F2)"
  Range("n2:n" & Columns(14).Find("*", , , , , xlPrevious).Row).FillDown
End Sub
 

Discussions similaires

Réponses
26
Affichages
859

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16