Sub test() Dim C As Range Application.ScreenUpdating = False Application.EnableEvents = False With Feuil1 For Each C In Range("A:C").Columns C.SpecialCells(xlCellTypeBlanks).Delete Next End With Application.ScreenUpdating = True Application.EnableEvents = True End Sub
Bonjour,
Utilise cette petite macro une fois!
Sub test()
Dim C As Range
Application.ScreenUpdating = False
Application.EnableEvents = False
With Feuil1
For Each C In Range("A:C").Columns
C.SpecialCells(xlCellTypeBlanks).Delete
Next
End With
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Sub test() Dim C As Range Application.ScreenUpdating = False Application.EnableEvents = False With Feuil1 For Each C In Range("A:C").Columns C.SpecialCells(xlCellTypeBlanks).Delete Next End With Application.ScreenUpdating = True Application.EnableEvents = True End Sub
Apitos
Bonjour MichD,
Je voulais délimiter la plage sur laquelle se fera la recherche des cellu les vides, parce que faire la chose sur tout le long des colonnes A à C p eut affecter d'autres données sur la feuille.
Alors le nouveau code fait un chamboulement dans mon tableau.
Tu peux faire un essai sur la pièce jointe.
http://www.cjoint.com/c/FBjwCD5TmvQ
Bonjour MichD,
Je voulais délimiter la plage sur laquelle se fera la recherche des cellu les vides, parce que faire la chose sur tout le long des colonnes A à C p eut affecter d'autres données sur la feuille.
Alors le nouveau code fait un chamboulement dans mon tableau.
Je voulais délimiter la plage sur laquelle se fera la recherche des cellu les vides, parce que faire la chose sur tout le long des colonnes A à C p eut affecter d'autres données sur la feuille.
Alors le nouveau code fait un chamboulement dans mon tableau.
Tu peux faire un essai sur la pièce jointe.
http://www.cjoint.com/c/FBjwCD5TmvQ
isabelle
bonjour Apitos,
je n'ai fais qu'une petite ajustement sur macro que Denis a fait la plage à parcourir Range("A3:C" & Derlg)
Sub test() Dim C As Range Application.ScreenUpdating = False Application.EnableEvents = False Derlg = Range("A:C").SpecialCells(xlCellTypeLastCell).Row With Feuil2 For Each C In Range("A3:C" & Derlg).Columns C.SpecialCells(xlCellTypeBlanks).Delete Next End With Application.ScreenUpdating = True Application.EnableEvents = True End Sub
isabelle
Le 2016-02-09 17:32, Apitos a écrit :
Bonjour MichD,
Je voulais délimiter la plage sur laquelle se fera la recherche des cellules vides, parce que faire la chose sur tout le long des colonnes A à C peut affecter d'autres données sur la feuille.
Alors le nouveau code fait un chamboulement dans mon tableau.
Tu peux faire un essai sur la pièce jointe.
http://www.cjoint.com/c/FBjwCD5TmvQ
bonjour Apitos,
je n'ai fais qu'une petite ajustement sur macro que Denis a fait
la plage à parcourir Range("A3:C" & Derlg)
Sub test()
Dim C As Range
Application.ScreenUpdating = False
Application.EnableEvents = False
Derlg = Range("A:C").SpecialCells(xlCellTypeLastCell).Row
With Feuil2
For Each C In Range("A3:C" & Derlg).Columns
C.SpecialCells(xlCellTypeBlanks).Delete
Next
End With
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
isabelle
Le 2016-02-09 17:32, Apitos a écrit :
Bonjour MichD,
Je voulais délimiter la plage sur laquelle se fera la recherche des cellules
vides, parce que faire la chose sur tout le long des colonnes A à C peut
affecter d'autres données sur la feuille.
Alors le nouveau code fait un chamboulement dans mon tableau.
je n'ai fais qu'une petite ajustement sur macro que Denis a fait la plage à parcourir Range("A3:C" & Derlg)
Sub test() Dim C As Range Application.ScreenUpdating = False Application.EnableEvents = False Derlg = Range("A:C").SpecialCells(xlCellTypeLastCell).Row With Feuil2 For Each C In Range("A3:C" & Derlg).Columns C.SpecialCells(xlCellTypeBlanks).Delete Next End With Application.ScreenUpdating = True Application.EnableEvents = True End Sub
isabelle
Le 2016-02-09 17:32, Apitos a écrit :
Bonjour MichD,
Je voulais délimiter la plage sur laquelle se fera la recherche des cellules vides, parce que faire la chose sur tout le long des colonnes A à C peut affecter d'autres données sur la feuille.
Alors le nouveau code fait un chamboulement dans mon tableau.
Tu peux faire un essai sur la pièce jointe.
http://www.cjoint.com/c/FBjwCD5TmvQ
isabelle
pour éviter de tourner sur des lignes vide, tu pourrais remplacer
je n'ai fais qu'une petite ajustement sur macro que Denis a fait la plage à parcourir Range("A3:C" & Derlg)
Sub test() Dim C As Range Application.ScreenUpdating = False Application.EnableEvents = False Derlg = Range("A:C").SpecialCells(xlCellTypeLastCell).Row With Feuil2 For Each C In Range("A3:C" & Derlg).Columns C.SpecialCells(xlCellTypeBlanks).Delete Next End With Application.ScreenUpdating = True Application.EnableEvents = True End Sub
isabelle
Le 2016-02-09 17:32, Apitos a écrit :
Bonjour MichD,
Je voulais délimiter la plage sur laquelle se fera la recherche des cellules vides, parce que faire la chose sur tout le long des colonnes A à C peut affecter d'autres données sur la feuille.
Alors le nouveau code fait un chamboulement dans mon tableau.
Tu peux faire un essai sur la pièce jointe.
http://www.cjoint.com/c/FBjwCD5TmvQ
pour éviter de tourner sur des lignes vide, tu pourrais remplacer
je n'ai fais qu'une petite ajustement sur macro que Denis a fait
la plage à parcourir Range("A3:C" & Derlg)
Sub test()
Dim C As Range
Application.ScreenUpdating = False
Application.EnableEvents = False
Derlg = Range("A:C").SpecialCells(xlCellTypeLastCell).Row
With Feuil2
For Each C In Range("A3:C" & Derlg).Columns
C.SpecialCells(xlCellTypeBlanks).Delete
Next
End With
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
isabelle
Le 2016-02-09 17:32, Apitos a écrit :
Bonjour MichD,
Je voulais délimiter la plage sur laquelle se fera la recherche des cellules
vides, parce que faire la chose sur tout le long des colonnes A à C peut
affecter d'autres données sur la feuille.
Alors le nouveau code fait un chamboulement dans mon tableau.
je n'ai fais qu'une petite ajustement sur macro que Denis a fait la plage à parcourir Range("A3:C" & Derlg)
Sub test() Dim C As Range Application.ScreenUpdating = False Application.EnableEvents = False Derlg = Range("A:C").SpecialCells(xlCellTypeLastCell).Row With Feuil2 For Each C In Range("A3:C" & Derlg).Columns C.SpecialCells(xlCellTypeBlanks).Delete Next End With Application.ScreenUpdating = True Application.EnableEvents = True End Sub
isabelle
Le 2016-02-09 17:32, Apitos a écrit :
Bonjour MichD,
Je voulais délimiter la plage sur laquelle se fera la recherche des cellules vides, parce que faire la chose sur tout le long des colonnes A à C peut affecter d'autres données sur la feuille.
Alors le nouveau code fait un chamboulement dans mon tableau.
Tu peux faire un essai sur la pièce jointe.
http://www.cjoint.com/c/FBjwCD5TmvQ
MichD
Une feuille contient plus de 16,000 colonnes. Ce n'est pas suffisant pour disposer tes données sans avoir recours à la superposition dans les mêmes colonnes?
Sub test1() Dim Rg As Range, T(), B As Long Dim G As Range, C As Range, A As Long
With Feuil1 Set Rg = .Range("A3:C30") End With
Application.ScreenUpdating = False Application.EnableEvents = False With Feuil1 Set Rg = .Range("A3:C30") ReDim T(1 To Rg.Rows.Count) For Each G In Rg.Columns For Each C In G.Cells If C <> "" Then A = A + 1 ReDim Preserve T(1 To A) T(A) = C.Value End If Next B = B + 1 With Rg.Columns(B) .Value = "" .Cells(1, 1).Resize(UBound(T)).Value = Application.Transpose(T) End With Erase T: A = 0 Next End With Application.ScreenUpdating = True Application.EnableEvents = True End Sub
Une feuille contient plus de 16,000 colonnes. Ce n'est pas suffisant
pour disposer tes données sans avoir recours à la superposition dans les
mêmes colonnes?
Sub test1()
Dim Rg As Range, T(), B As Long
Dim G As Range, C As Range, A As Long
With Feuil1
Set Rg = .Range("A3:C30")
End With
Application.ScreenUpdating = False
Application.EnableEvents = False
With Feuil1
Set Rg = .Range("A3:C30")
ReDim T(1 To Rg.Rows.Count)
For Each G In Rg.Columns
For Each C In G.Cells
If C <> "" Then
A = A + 1
ReDim Preserve T(1 To A)
T(A) = C.Value
End If
Next
B = B + 1
With Rg.Columns(B)
.Value = ""
.Cells(1, 1).Resize(UBound(T)).Value =
Application.Transpose(T)
End With
Erase T: A = 0
Next
End With
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Une feuille contient plus de 16,000 colonnes. Ce n'est pas suffisant pour disposer tes données sans avoir recours à la superposition dans les mêmes colonnes?
Sub test1() Dim Rg As Range, T(), B As Long Dim G As Range, C As Range, A As Long
With Feuil1 Set Rg = .Range("A3:C30") End With
Application.ScreenUpdating = False Application.EnableEvents = False With Feuil1 Set Rg = .Range("A3:C30") ReDim T(1 To Rg.Rows.Count) For Each G In Rg.Columns For Each C In G.Cells If C <> "" Then A = A + 1 ReDim Preserve T(1 To A) T(A) = C.Value End If Next B = B + 1 With Rg.Columns(B) .Value = "" .Cells(1, 1).Resize(UBound(T)).Value = Application.Transpose(T) End With Erase T: A = 0 Next End With Application.ScreenUpdating = True Application.EnableEvents = True End Sub
MichD
Bonjour Isabelle,
Comme il a un tableau en dessous de la ligne 30, on ne peut pas utiliser la suppression des cellules vides sans affecter la disposition des lignes du tableau sous cette plage de cellules. Je pense qu'on doit simplement repositionner les valeurs des colonnes sans supprimer les cellules vides.
MichD
Bonjour Isabelle,
Comme il a un tableau en dessous de la ligne 30, on ne peut pas utiliser
la suppression des cellules vides sans affecter la disposition des
lignes du tableau sous cette plage de cellules. Je pense qu'on doit
simplement repositionner les valeurs des colonnes sans supprimer les
cellules vides.
Comme il a un tableau en dessous de la ligne 30, on ne peut pas utiliser la suppression des cellules vides sans affecter la disposition des lignes du tableau sous cette plage de cellules. Je pense qu'on doit simplement repositionner les valeurs des colonnes sans supprimer les cellules vides.
MichD
isabelle
tester et approuver c'est parfait Denis. et désolé Apitos, je n'avais pas vue qu'il y avait un autre tableau sous le premier en range ("A:C") isabelle
Le 2016-02-09 19:56, MichD a écrit :
Une feuille contient plus de 16,000 colonnes. Ce n'est pas suffisant pour disposer tes données sans avoir recours à la superposition dans les mêmes colonnes?
Sub test1() Dim Rg As Range, T(), B As Long Dim G As Range, C As Range, A As Long
With Feuil1 Set Rg = .Range("A3:C30") End With
Application.ScreenUpdating = False Application.EnableEvents = False With Feuil1 Set Rg = .Range("A3:C30") ReDim T(1 To Rg.Rows.Count) For Each G In Rg.Columns For Each C In G.Cells If C <> "" Then A = A + 1 ReDim Preserve T(1 To A) T(A) = C.Value End If Next B = B + 1 With Rg.Columns(B) .Value = "" .Cells(1, 1).Resize(UBound(T)).Value = Application.Transpose(T) End With Erase T: A = 0 Next End With Application.ScreenUpdating = True Application.EnableEvents = True End Sub
tester et approuver c'est parfait Denis.
et désolé Apitos, je n'avais pas vue qu'il y avait un autre tableau sous le
premier en range ("A:C")
isabelle
Le 2016-02-09 19:56, MichD a écrit :
Une feuille contient plus de 16,000 colonnes. Ce n'est pas suffisant pour
disposer tes données sans avoir recours à la superposition dans les mêmes colonnes?
Sub test1()
Dim Rg As Range, T(), B As Long
Dim G As Range, C As Range, A As Long
With Feuil1
Set Rg = .Range("A3:C30")
End With
Application.ScreenUpdating = False
Application.EnableEvents = False
With Feuil1
Set Rg = .Range("A3:C30")
ReDim T(1 To Rg.Rows.Count)
For Each G In Rg.Columns
For Each C In G.Cells
If C <> "" Then
A = A + 1
ReDim Preserve T(1 To A)
T(A) = C.Value
End If
Next
B = B + 1
With Rg.Columns(B)
.Value = ""
.Cells(1, 1).Resize(UBound(T)).Value = Application.Transpose(T)
End With
Erase T: A = 0
Next
End With
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
tester et approuver c'est parfait Denis. et désolé Apitos, je n'avais pas vue qu'il y avait un autre tableau sous le premier en range ("A:C") isabelle
Le 2016-02-09 19:56, MichD a écrit :
Une feuille contient plus de 16,000 colonnes. Ce n'est pas suffisant pour disposer tes données sans avoir recours à la superposition dans les mêmes colonnes?
Sub test1() Dim Rg As Range, T(), B As Long Dim G As Range, C As Range, A As Long
With Feuil1 Set Rg = .Range("A3:C30") End With
Application.ScreenUpdating = False Application.EnableEvents = False With Feuil1 Set Rg = .Range("A3:C30") ReDim T(1 To Rg.Rows.Count) For Each G In Rg.Columns For Each C In G.Cells If C <> "" Then A = A + 1 ReDim Preserve T(1 To A) T(A) = C.Value End If Next B = B + 1 With Rg.Columns(B) .Value = "" .Cells(1, 1).Resize(UBound(T)).Value = Application.Transpose(T) End With Erase T: A = 0 Next End With Application.ScreenUpdating = True Application.EnableEvents = True End Sub
Apitos
Bonjour Isabelle, MichD;
La dernière n'est pas forcement connue d'avance (A3:C30)
C'est pour cela que j'ai essayé d'utiliser ce code :