SUpprimer cellules+deplacer cellules vers le haut

demax

XLDnaute Occasionnel
Bonjour
je recherche la possibilité avec une macro de faire ca:

1 |
2 | 1
3 |
4 | 1

UN PETIT COUP DE MACRO MAGIC ET HOP::)

2 | 1
4 | 1
je suis nul en vba mais j'apprends :cool:
merci
 

vbacrumble

XLDnaute Accro
Re : SUpprimer cellules+deplacer cellules vers le haut

Re, bjr excalibur


Merci de la précision, excalibur.

(C'était évident pour moi: Columns("A:A") = la colonne A )

Désolé demax de mon manque d'explications détaillées.

Voici une modification qui fonctionne pour la colonne de la cellule active.
Code:
Sub Macro7()
NumCol = CInt(ActiveCell.Column)
Columns(NumCol).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
End Sub

A+
 
Dernière édition:

demax

XLDnaute Occasionnel
Re : SUpprimer cellules+deplacer cellules vers le haut

Je vous avez dis que j'etais nul:confused:
travail formidable vbacrumble mais je voudrais supprimer la cellule contigues en plus:
ca concerne une selection de photos du style:
n° photos nb
1 |
2 | 1
3 |
4 | 1

et donc supprimer les cellules vides + n°photos pour avoir:

2 | 1
4 | 1
donc comment selectionner la cellules mitoyen au cellules vides :confused:
merci
 

Pièces jointes

  • Commande_tirage.xls
    47.5 KB · Affichages: 152

Jaksnoopy

XLDnaute Junior
Re : SUpprimer cellules+deplacer cellules vers le haut

Heu, apres avoir fait ma recherche pour trouver ca, je cherche où je dois copier coller la "macro" pour qu'elle marche...
J'ai essayé en cliquant sur nouvelle macro, mais il me donne pas d'espace ou copier le code...

Dsl je sais que c'est stupide mais j'ai pas trouvé dans le didacticiel...
 

Jaksnoopy

XLDnaute Junior
Re : SUpprimer cellules+deplacer cellules vers le haut

Rebonjour,

Bon, là, j'ai cherché, je ne comprends pas pourquoi ca ne marche pas,
j'ai bien mis le code, des fois il répond erreur 1004
des fois, il ne fait rien, pourtant la ligne est simple (enfin je veux dire pour quelqu'un qui comprend un peu ce que c'est)

Si quelqu'un peut jeter un oeil, merci d'avance !^^
 

Pièces jointes

  • test.xls
    45 KB · Affichages: 130
  • test.xls
    45 KB · Affichages: 134
  • test.xls
    45 KB · Affichages: 139

vbacrumble

XLDnaute Accro
Re : SUpprimer cellules+deplacer cellules vers le haut

Bonjour


Je t'ai créé à partir de ton fichier, un exemple qui te montrera que ta Macro1 fonctionne correctement.

1) Tu cliques sur Préparer le test

2) Tu cliques sur Test MACRO1

N'hésites pas si tu as des questions.
 

Pièces jointes

  • testsOK.zip
    8.4 KB · Affichages: 130

Jaksnoopy

XLDnaute Junior
Re : SUpprimer cellules+deplacer cellules vers le haut

Tout d'abord, merci pour ta réponse ! ^^
C'est sympa, mais tu sais pas dans quoi tu mets les pieds ;-)

Effectivement,ton exemple marche.
D'autre part, j'avais testé la macro sur des valeurs tapées au hasard comme ca, et ca marchait, mais pourquoi alors,
dans la configuration de mon fichier test que j'ai uploadé, elle répond : 'erreur 1004, pas de cellule correspondante' ?

A priori, le fait que ce soient des cellules copiées peut-il bloquer ?
Est parce que tu déprotèges les cellules dans ta macro ?
Ou j'ai raté un truc gros comme le nez au milieu de la figure ?

(ou tout bêtement je suis pas fait pour ca ?)
enfin c'est rageant...
 

Jaksnoopy

XLDnaute Junior
Re : SUpprimer cellules+deplacer cellules vers le haut

Re (rapide dis donc)
A ok, si il rencontre deux cellules non vides qui se suivent, il ne va pas chercher plus loin ... ok ^^

Mais comment lui dire, dans ce cas, d'aller chercher plus loin ?
Et de regrouper toutes les cellules non vides de la colonne sans regarder si elles sont toutes séparées ?

En fait je crois que j'ai pas réellement compris le fonctionnement de la fonction que tu utilises...

Sub Macro1()
Columns("A:A").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
End Sub

Colonne AA, ok
special etc; ca veut dire si la cellule est vide (typeblanks), alors supprime et mont (xlUp)

C'est quelque chose comme ca ?
 

vbacrumble

XLDnaute Accro
Re : SUpprimer cellules+deplacer cellules vers le haut

Re



Est-ce que tu comprends mieux avec cette macro là ?

Code:
Sub Macro1()
Dim cellulevide As Range, i As Long
For i = 1 To 18 Step 3
    With Cells(i, "B")
        .Value = Rnd
        .Offset(1, 0).Formula = "=NOW()"
        .ColumnWidth = 17
    End With
Next
Set cellulevide = _
Range("B1:B17").SpecialCells(xlCellTypeBlanks)
cellulevide.Interior.ColorIndex = 3
If (MsgBox("Adresses des cellules vides : " & cellulevide.Address(0, 0) & " = ( cellules au fond rouge)", vbOKOnly, "Effacement :Décalage vers le haut") = vbOK) Then
cellulevide.Delete shift:=xlUp
End If
End Sub
 

Discussions similaires

Réponses
5
Affichages
193

Statistiques des forums

Discussions
312 544
Messages
2 089 452
Membres
104 167
dernier inscrit
nourisebai