Macro pour monter des cellules

salsitawapa

XLDnaute Occasionnel
Bonjour à tous, j'aimerais changer une macro existante sur une feuille excel nommé macro1 et ou il y a une macro pour faire monter les cellules que l'on selectionne pour combler le vide. Avant il y avait cette formule :
Monter
=LIGNES(SELECTION())
NB=LIGNES(SELECTION())
a=0

=TANT.QUE(a<NB)
=SELECTIONNER(DECALER(CELLULE.ACTIVE();0;0;1;2))
=COPIER()
=SELECTIONNER(DECALER(CELLULE.ACTIVE();-1;0;1;2))
=COLLAGE.SPECIAL(3;1;FAUX;FAUX)
=COLLAGE.SPECIAL(5;1;FAUX;FAUX)
=SELECTIONNER(DECALER(CELLULE.ACTIVE();1;0;1;2))
=EFFACER(3)
=EFFACER(4)
=SELECTIONNER(DECALER(CELLULE.ACTIVE();1;0;1;2))
a=a+1

=SUIVANT()

=SELECTIONNER(DECALER(CELLULE.ACTIVE();-NB-1;0;NB;2))
=ANNULER.COPIE()
=RETOUR()

"Monter"

J'ai essayé de la mettre sur visual basic en faisant un copier coller mais la il me dit erreur de syntaxe.
Y a t'il une formule plus simple a mettre ? Merci de vos réponses
 

JeanMarie

XLDnaute Barbatruc
Re : Macro pour monter des cellules

Bonsoir salsitawapa

J'ai une question et une remarque par rapport au code de ta macro XL4

La sélection que tu devais faire avant le lancement de la macro, était sur la globalité du contenu de la feuille, la macro ne prennant en compte que deux colonnes par rapport à la cellule active de la sélection ?

Et pourquoi ne pas supprimer les deux cellules vides !

Regarde ce code, il permet de remonter les cellules non vides de la plage, en fonction du contenu des deux colonnes
Code:
Sub Macro2()
   Range("A1:B30").Select
   Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
   Range("A1").Select
End Sub

Regarde ce code, il efface les lignes entières en fonction du contenu de la plage de la clonne A
Code:
Sub Macro3()
   Range("A1:A30").Select
   Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

@+Jean-Marie
 

salsitawapa

XLDnaute Occasionnel
Re : Macro pour monter des cellules

Bonsoir Jean marie, en fait ce que je veux faire c'est sélectionner des cellules manuellement et les monter de une ou plusieurs cellules suivant le nombre de vide. Par exemple, dans la feuille jointe, j'ai cliqué sur spécialité et il m'a mis tous les noms des colonnes de droite dans les cases CMIC, canyon... Si tu regarde en A60, tu peux voir que les cellules A et B 60 sont vides. En sélectionnant celles du dessous, je les fais monter avec le bouton monter. Peux être que je suis allé trop vite car il me reste plus que la macro spécialité a refaire en VB. Le soucis de celle-ci est qu'il faut que je trouve comment lui dire d'aller lire dans les commentaire pour mettre dans la bonne case.
En tout cas merci pour ta réponse


Ce lien n'existe plus
 

salsitawapa

XLDnaute Occasionnel
Re : Macro pour monter des cellules

Re-bonsoir
Pour Jean Marie, j'ai essayé la formule pour monter, j'y arrive mais le problème est que sa m'efface des cellules qu'il ne faut pas. Par exemple (sur le fichier exemple.xls), il m'efface Sec. en montagne et CMIC pour les colonnes A et B. Je n'ai donc pas essayé sur les autres. Merci
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
581

Statistiques des forums

Discussions
312 492
Messages
2 088 925
Membres
103 984
dernier inscrit
maliko67