J'ai un tableau de 15219 lignes et 14 colonnes.
La première ligne contient des en-têtes.
Je veux garder exclusivement les lignes pour
lesquelles la colonne 10 n'est pas vide.
Cette macro me semble correcte mais je la
trouve un peu lente.
Auriez-vous des suggestions à me faire
pour optimiser cette macro ?
Sub Garde_Téléphones()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For i = 15219 To 2 Step -1
If IsEmpty(Cells(i, 10)) Then Cells(i, 1).EntireRow.Delete
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacky
Bonjour,
Un truc du genre '----------- Range("j2:j15219").SpecialCells(xlCellTypeBlanks).EntireRow.Delete (xlUp) '----------------- -- Salutations JJ
"garnote" a écrit dans le message de news: urZiz$
Bonjour,
J'ai un tableau de 15219 lignes et 14 colonnes. La première ligne contient des en-têtes. Je veux garder exclusivement les lignes pour lesquelles la colonne 10 n'est pas vide. Cette macro me semble correcte mais je la trouve un peu lente. Auriez-vous des suggestions à me faire pour optimiser cette macro ?
Sub Garde_Téléphones() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For i = 15219 To 2 Step -1 If IsEmpty(Cells(i, 10)) Then Cells(i, 1).EntireRow.Delete Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub
Serge
Bonjour,
Un truc du genre
'-----------
Range("j2:j15219").SpecialCells(xlCellTypeBlanks).EntireRow.Delete (xlUp)
'-----------------
--
Salutations
JJ
"garnote" <garnote3@videotron.ca> a écrit dans le message de news:
urZiz$VWKHA.4484@TK2MSFTNGP02.phx.gbl...
Bonjour,
J'ai un tableau de 15219 lignes et 14 colonnes.
La première ligne contient des en-têtes.
Je veux garder exclusivement les lignes pour
lesquelles la colonne 10 n'est pas vide.
Cette macro me semble correcte mais je la
trouve un peu lente.
Auriez-vous des suggestions à me faire
pour optimiser cette macro ?
Sub Garde_Téléphones()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For i = 15219 To 2 Step -1
If IsEmpty(Cells(i, 10)) Then Cells(i, 1).EntireRow.Delete
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Un truc du genre '----------- Range("j2:j15219").SpecialCells(xlCellTypeBlanks).EntireRow.Delete (xlUp) '----------------- -- Salutations JJ
"garnote" a écrit dans le message de news: urZiz$
Bonjour,
J'ai un tableau de 15219 lignes et 14 colonnes. La première ligne contient des en-têtes. Je veux garder exclusivement les lignes pour lesquelles la colonne 10 n'est pas vide. Cette macro me semble correcte mais je la trouve un peu lente. Auriez-vous des suggestions à me faire pour optimiser cette macro ?
Sub Garde_Téléphones() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For i = 15219 To 2 Step -1 If IsEmpty(Cells(i, 10)) Then Cells(i, 1).EntireRow.Delete Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub
"garnote" a écrit dans le message de groupe de discussion : urZiz$ Bonjour,
J'ai un tableau de 15219 lignes et 14 colonnes. La première ligne contient des en-têtes. Je veux garder exclusivement les lignes pour lesquelles la colonne 10 n'est pas vide. Cette macro me semble correcte mais je la trouve un peu lente. Auriez-vous des suggestions à me faire pour optimiser cette macro ?
Sub Garde_Téléphones() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For i = 15219 To 2 Step -1 If IsEmpty(Cells(i, 10)) Then Cells(i, 1).EntireRow.Delete Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub
"garnote" <garnote3@videotron.ca> a écrit dans le message de groupe de discussion :
urZiz$VWKHA.4484@TK2MSFTNGP02.phx.gbl...
Bonjour,
J'ai un tableau de 15219 lignes et 14 colonnes.
La première ligne contient des en-têtes.
Je veux garder exclusivement les lignes pour
lesquelles la colonne 10 n'est pas vide.
Cette macro me semble correcte mais je la
trouve un peu lente.
Auriez-vous des suggestions à me faire
pour optimiser cette macro ?
Sub Garde_Téléphones()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For i = 15219 To 2 Step -1
If IsEmpty(Cells(i, 10)) Then Cells(i, 1).EntireRow.Delete
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
"garnote" a écrit dans le message de groupe de discussion : urZiz$ Bonjour,
J'ai un tableau de 15219 lignes et 14 colonnes. La première ligne contient des en-têtes. Je veux garder exclusivement les lignes pour lesquelles la colonne 10 n'est pas vide. Cette macro me semble correcte mais je la trouve un peu lente. Auriez-vous des suggestions à me faire pour optimiser cette macro ?
Sub Garde_Téléphones() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For i = 15219 To 2 Step -1 If IsEmpty(Cells(i, 10)) Then Cells(i, 1).EntireRow.Delete Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub
J'ai un tableau de 15219 lignes et 14 colonnes. La première ligne contient des en-têtes. Je veux garder exclusivement les lignes pour lesquelles la colonne 10 n'est pas vide. Cette macro me semble correcte mais je la trouve un peu lente. Auriez-vous des suggestions à me faire pour optimiser cette macro ?
Sub Garde_Téléphones() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For i = 15219 To 2 Step -1 If IsEmpty(Cells(i, 10)) Then Cells(i, 1).EntireRow.Delet e Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub
On 30 oct, 13:53, "garnote" <garno...@videotron.ca> wrote:
Bonjour,
J'ai un tableau de 15219 lignes et 14 colonnes.
La première ligne contient des en-têtes.
Je veux garder exclusivement les lignes pour
lesquelles la colonne 10 n'est pas vide.
Cette macro me semble correcte mais je la
trouve un peu lente.
Auriez-vous des suggestions à me faire
pour optimiser cette macro ?
Sub Garde_Téléphones()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For i = 15219 To 2 Step -1
If IsEmpty(Cells(i, 10)) Then Cells(i, 1).EntireRow.Delet e
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
J'ai un tableau de 15219 lignes et 14 colonnes. La première ligne contient des en-têtes. Je veux garder exclusivement les lignes pour lesquelles la colonne 10 n'est pas vide. Cette macro me semble correcte mais je la trouve un peu lente. Auriez-vous des suggestions à me faire pour optimiser cette macro ?
Sub Garde_Téléphones() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For i = 15219 To 2 Step -1 If IsEmpty(Cells(i, 10)) Then Cells(i, 1).EntireRow.Delet e Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub
Serge
JB
Bonjour,
Avec le filtre élaboré, recopier dans un autre onglet les lignes qui ne sont pas vides.
J'ai un tableau de 15219 lignes et 14 colonnes. La première ligne contient des en-têtes. Je veux garder exclusivement les lignes pour lesquelles la colonne 10 n'est pas vide. Cette macro me semble correcte mais je la trouve un peu lente. Auriez-vous des suggestions à me faire pour optimiser cette macro ?
Sub Garde_Téléphones() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For i = 15219 To 2 Step -1 If IsEmpty(Cells(i, 10)) Then Cells(i, 1).EntireRow.Delet e Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub
Serge
Bonjour,
Avec le filtre élaboré, recopier dans un autre onglet les lignes qui
ne sont pas vides.
On 30 oct, 13:53, "garnote" <garno...@videotron.ca> wrote:
Bonjour,
J'ai un tableau de 15219 lignes et 14 colonnes.
La première ligne contient des en-têtes.
Je veux garder exclusivement les lignes pour
lesquelles la colonne 10 n'est pas vide.
Cette macro me semble correcte mais je la
trouve un peu lente.
Auriez-vous des suggestions à me faire
pour optimiser cette macro ?
Sub Garde_Téléphones()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For i = 15219 To 2 Step -1
If IsEmpty(Cells(i, 10)) Then Cells(i, 1).EntireRow.Delet e
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
J'ai un tableau de 15219 lignes et 14 colonnes. La première ligne contient des en-têtes. Je veux garder exclusivement les lignes pour lesquelles la colonne 10 n'est pas vide. Cette macro me semble correcte mais je la trouve un peu lente. Auriez-vous des suggestions à me faire pour optimiser cette macro ?
Sub Garde_Téléphones() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For i = 15219 To 2 Step -1 If IsEmpty(Cells(i, 10)) Then Cells(i, 1).EntireRow.Delet e Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub
Serge
garnote
Merci à tous pour vos suggestions. Trois fois plus rapide.
Et une autre question pour vous occuper ;-) Comment détecter par macro si une cellule contient un motif ?
A+ et Salutations distinguées Serge
Merci à tous pour vos suggestions.
Trois fois plus rapide.
Et une autre question pour vous occuper ;-)
Comment détecter par macro si une cellule
contient un motif ?
If Selection.Interior.Pattern <> -4142 Then MsgBox "a un pattern" Else MsgBox "n'a pas de pattern"
isabelle
garnote a écrit :
ReBonjour,
Voulant détecter un motif en particulier, j'ai trouvé une solution :
Sub Cellule_Avec_Barres_Verticales() If ActiveCell.Interior.Pattern = xlLightVertical _ Then MsgBox "Oui" Else MsgBox "Non" End Sub
Quant à détecter un motf quelconque ???
Bonne fin de semaine, pardon pour les outre-mare, Bon week-end ;-)
Serge
"garnote" a écrit dans le message de news: %
Merci à tous pour vos suggestions. Trois fois plus rapide.
Et une autre question pour vous occuper ;-) Comment détecter par macro si une cellule contient un motif ?
A+ et Salutations distinguées Serge
michdenis
Une façon de se simplifier la vie,
Petit exemple, si dans la ligne de code suivante X = xlPatternVertical Tu effaces le signe "=" et tu le tapes à nouveau, excel va t'afficher la liste des constantes disponibles
'----------------------------------- Sub test() Dim C As Range
Dim X As XlPattern X = xlPatternVertical
For Each C In Range("A1:A10") Select Case C.Interior.Pattern Case X 'Le code à appliquer MsgBox C.Address End Select Next End Sub '-----------------------------------
"garnote" a écrit dans le message de groupe de discussion :
ReBonjour,
Voulant détecter un motif en particulier, j'ai trouvé une solution :
Sub Cellule_Avec_Barres_Verticales() If ActiveCell.Interior.Pattern = xlLightVertical _ Then MsgBox "Oui" Else MsgBox "Non" End Sub
Quant à détecter un motf quelconque ???
Bonne fin de semaine, pardon pour les outre-mare, Bon week-end ;-)
Serge
"garnote" a écrit dans le message de news: %
Merci à tous pour vos suggestions. Trois fois plus rapide.
Et une autre question pour vous occuper ;-) Comment détecter par macro si une cellule contient un motif ?
A+ et Salutations distinguées Serge
Une façon de se simplifier la vie,
Petit exemple, si dans la ligne de code suivante
X = xlPatternVertical
Tu effaces le signe "=" et tu le tapes à nouveau, excel va
t'afficher la liste des constantes disponibles
'-----------------------------------
Sub test()
Dim C As Range
Dim X As XlPattern
X = xlPatternVertical
For Each C In Range("A1:A10")
Select Case C.Interior.Pattern
Case X
'Le code à appliquer
MsgBox C.Address
End Select
Next
End Sub
'-----------------------------------
"garnote" <garnote3@videotron.ca> a écrit dans le message de groupe de discussion :
uFpuTsWWKHA.3720@TK2MSFTNGP02.phx.gbl...
ReBonjour,
Voulant détecter un motif en particulier,
j'ai trouvé une solution :
Sub Cellule_Avec_Barres_Verticales()
If ActiveCell.Interior.Pattern = xlLightVertical _
Then MsgBox "Oui" Else MsgBox "Non"
End Sub
Quant à détecter un motf quelconque ???
Bonne fin de semaine, pardon pour les outre-mare,
Bon week-end ;-)
Serge
"garnote" <garnote3@videotron.ca> a écrit dans le message de news:
%23d7EuhWWKHA.844@TK2MSFTNGP05.phx.gbl...
Merci à tous pour vos suggestions.
Trois fois plus rapide.
Et une autre question pour vous occuper ;-)
Comment détecter par macro si une cellule
contient un motif ?
Petit exemple, si dans la ligne de code suivante X = xlPatternVertical Tu effaces le signe "=" et tu le tapes à nouveau, excel va t'afficher la liste des constantes disponibles
'----------------------------------- Sub test() Dim C As Range
Dim X As XlPattern X = xlPatternVertical
For Each C In Range("A1:A10") Select Case C.Interior.Pattern Case X 'Le code à appliquer MsgBox C.Address End Select Next End Sub '-----------------------------------
"garnote" a écrit dans le message de groupe de discussion :
ReBonjour,
Voulant détecter un motif en particulier, j'ai trouvé une solution :
Sub Cellule_Avec_Barres_Verticales() If ActiveCell.Interior.Pattern = xlLightVertical _ Then MsgBox "Oui" Else MsgBox "Non" End Sub
Quant à détecter un motf quelconque ???
Bonne fin de semaine, pardon pour les outre-mare, Bon week-end ;-)
Serge
"garnote" a écrit dans le message de news: %
Merci à tous pour vos suggestions. Trois fois plus rapide.
Et une autre question pour vous occuper ;-) Comment détecter par macro si une cellule contient un motif ?
A+ et Salutations distinguées Serge
isabelle
re,
la liste est présente dans l'explorateur d'objets sous la classe xlPatters, il y a les noms à droite et en les sélectionnant tu as leur no. en bas.
isabelle
garnote a écrit :
ReBonjour,
Voulant détecter un motif en particulier, j'ai trouvé une solution :
Sub Cellule_Avec_Barres_Verticales() If ActiveCell.Interior.Pattern = xlLightVertical _ Then MsgBox "Oui" Else MsgBox "Non" End Sub
Quant à détecter un motf quelconque ???
Bonne fin de semaine, pardon pour les outre-mare, Bon week-end ;-)
Serge
"garnote" a écrit dans le message de news: %
Merci à tous pour vos suggestions. Trois fois plus rapide.
Et une autre question pour vous occuper ;-) Comment détecter par macro si une cellule contient un motif ?
A+ et Salutations distinguées Serge
re,
la liste est présente dans l'explorateur d'objets sous la classe xlPatters,
il y a les noms à droite et en les sélectionnant tu as leur no. en bas.
isabelle
garnote a écrit :
ReBonjour,
Voulant détecter un motif en particulier,
j'ai trouvé une solution :
Sub Cellule_Avec_Barres_Verticales()
If ActiveCell.Interior.Pattern = xlLightVertical _
Then MsgBox "Oui" Else MsgBox "Non"
End Sub
Quant à détecter un motf quelconque ???
Bonne fin de semaine, pardon pour les outre-mare,
Bon week-end ;-)
Serge
"garnote" <garnote3@videotron.ca> a écrit dans le message de news:
%23d7EuhWWKHA.844@TK2MSFTNGP05.phx.gbl...
Merci à tous pour vos suggestions.
Trois fois plus rapide.
Et une autre question pour vous occuper ;-)
Comment détecter par macro si une cellule
contient un motif ?