XL 2016 Dans une colonne décaler des cellules vides vers le bas

berru76

XLDnaute Occasionnel
Bonjour
Je cherche une macro pour décaler dans une colonne les cellules vides vers le bas
dans mon cas de C4 a C99
fichier ci joint
Merci
 

Pièces jointes

  • Decaler.xlsm
    78.3 KB · Affichages: 19
Solution
Bonjour @berru76, mapomme,

oh le gros cachotier ! 1 seule feuille visible sur 58 !!! :p
sur l'unique feuille visible, la colonne B était cachée !

et cerise sur le gâteau, B2:C3 : vide ! même tes en-têtes sont inconnus !!!
bon, à tout hasard, j'ai quand même complété B2, B3, et C2 ; on sait jamais, hein ? ;)
(explication de C2 en G11 et G12)


fais Ctrl e ➯ travail effectué

bien sûr, vu que tes valeurs en colonne B sont tout à fait aléatoires grâce à la fonction ALEA(), il va de soi qu'elles
ont changé au cours de l'opération, mais tu t'en doutais, non ? :D sinon, si tu voulais garder exactement les
mêmes valeurs pour chaque Jxx de la colonne C, il faudra bien sûr une autre macro... (je...

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @berru76,

Essayer le code suivant dans module1 :
VB:
Sub Tasser()
Dim derlig&, t, i&, n&, j&
   Sheets("Inscriptions").Select
   derlig = Cells(Rows.Count, "a").End(xlUp).Row
   t = Range(Cells(4, "c"), Cells(derlig, "c"))
   For i = 1 To UBound(t)
      If t(i, 1) <> "" Then
         n = n + 1
         t(n, 1) = t(i, 1)
      End If
   Next i
   For i = n + 1 To UBound(t): t(i, 1) = Empty: Next
   Range(Cells(4, "c"), Cells(derlig, "c")) = t
End Sub
 

Pièces jointes

  • berru76- Decaler- v1.xlsm
    75.8 KB · Affichages: 11
Dernière édition:

soan

XLDnaute Barbatruc
Inactif
Bonjour @berru76, mapomme,

oh le gros cachotier ! 1 seule feuille visible sur 58 !!! :p
sur l'unique feuille visible, la colonne B était cachée !

et cerise sur le gâteau, B2:C3 : vide ! même tes en-têtes sont inconnus !!!
bon, à tout hasard, j'ai quand même complété B2, B3, et C2 ; on sait jamais, hein ? ;)
(explication de C2 en G11 et G12)


fais Ctrl e ➯ travail effectué

bien sûr, vu que tes valeurs en colonne B sont tout à fait aléatoires grâce à la fonction ALEA(), il va de soi qu'elles
ont changé au cours de l'opération, mais tu t'en doutais, non ? :D sinon, si tu voulais garder exactement les
mêmes valeurs pour chaque Jxx de la colonne C, il faudra bien sûr une autre macro... (je pense quand même que
non, vu que la colonne B était cachée... mais peut-être avais-tu prévu de nous faire la surprise plus tard ? :p)


fais Alt F11 pour voir la macro, puis revenir sur Excel

à te lire pour avoir ton avis. :)


soan
 

Pièces jointes

  • Decaler.xlsm
    75.4 KB · Affichages: 9

berru76

XLDnaute Occasionnel
Merci a vous les deux solutions fonctionnent
effectivement j'ai une autre macro tri auquel je vais essayer d'ajouter vos formules pour n'en faire qu'une macro Tri +tasser ou essai
j'ai teste avec Tri +tasser j'ai une erreur de compilation
avec Tri +essai cela fonctionne
Merci a vous
 

soan

XLDnaute Barbatruc
Inactif
Bonjour @berru76,

Dim n& est la même chose que Dim n As Long

L'erreur de compilation est : « Déclaration existante dans la portée en cours »

Ça se produit car un nom de variable ne peut pas être déclaré plus d'une fois
dans une même sub ; sur la 1ère ligne de la sub, il y a : Dim ... n As Long ;
c'est pour ça que plus bas, la compilation a bloqué (avec raison) sur Dim ... n&

Solution : dans la 2ème ligne Dim, supprime , n&Dim derlig&, t, i&, j&
avec ça, la compilation sera ok ; de plus, la variable j n'est pas utilisée dans
la suite de la sub, donc tu peux la supprimer aussi
Dim derlig&, t, i&

soan
 

Statistiques des forums

Discussions
312 216
Messages
2 086 348
Membres
103 194
dernier inscrit
rtison