SUpprimer cellules+deplacer cellules vers le haut

  • Initiateur de la discussion Initiateur de la discussion demax
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 😎
merci
 
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:
Re : SUpprimer cellules+deplacer cellules vers le haut

Je vous avez dis que j'etais nul😕
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 😕
merci
 

Pièces jointes

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...
 
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

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

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...
 
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 ?
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
329
Retour