Petite modification d'une macro

salsitawapa

XLDnaute Occasionnel
Salut à tous, voila j'ai cette macro qui marche très bien :

Sub Monter()
Range("A1:A10").Select
Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
Range("A1").Select
End Sub


Le soucis avec elle est que je ne peux pas selectionner moi même mes cellules à monter.
Par exemple je voudrais monter les cellules C5:D8 jusqu'a la première cellule vide du dessus qui se trouve par exemple en C3:D3. Comment remplacer mes Range("A1:A10").Select et Range("A1").Select par quelque chose du genre selection ou autre ? Merci
 

salsitawapa

XLDnaute Occasionnel
Re : Petite modification d'une macro

Salut Jean marie, en fait se que je dois faire c'est selectionner manuellement les cellule. J'y arrive pour copier des cellules que je selectionne mannuellement :

Sub Copier()
Selection.Copy
End Sub

Pareil pour effacer :

Sub Effacer()
'Effacement de la cellule ainsi que des commentaires
Selection.ClearContents
Selection.ClearComments
End Sub

Voila je voudrai faire de même pour monter les cellules aux choix (que je selectionne manuellement et que j'active la macro).
 

SergiO

XLDnaute Accro
Re : Petite modification d'une macro

Bonsoir,

Essaie avec ceci pour choisir la sélection

Code:
Dim PlageSource As Range
 
    Set PlageSource = Application.InputBox _
        ("Sélectionnez la ou les cellule(s) à supprimer !", "Sélection Plage", Type:=8)
@+
 
Dernière édition:

salsitawapa

XLDnaute Occasionnel
Re : Petite modification d'une macro

Bonsoir sergio, voici se que j'ai fait avec se que tu m'as donné :
Sub Monter()
Dim PlageSource As Range

Set PlageSource = Application.InputBox _
("Sélectionnez la ou les cellule(s) à supprimer !", "Plage source", Type:=8)


PlageSource.Copy
With CelluleDest
Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
End With
Application.CutCopyMode = False
Exit Sub

Erreur:
If Err.Number = 424 Then Exit Sub
End Sub

Sauf que j'ai une erreur avec Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp


Sais tu pourquoi ? Merci
 

SergiO

XLDnaute Accro
Re : Petite modification d'une macro

Re,

Essaie ceci

Code:
Sub Monter()
Dim PlageSource As Range

On Erreur goto Erreur

Set PlageSource = Application.InputBox _
        ("Sélectionnez la ou les cellule(s) à supprimer !", "Sélection Plage", Type:=8)
 
PlageSource.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
Range("A1").Select

Exit Sub
 
Erreur:
If Err.Number = 424 Then Exit Sub

End Sub
 
Dernière édition:

salsitawapa

XLDnaute Occasionnel
Re : Petite modification d'une macro

Bonjour à tous, voici le résultat pour monter les cellules sans me remonter celles qui ne sont pas sélectionnée. Le problème est que la boite de dialogue ne fonctionne plus et pourtant elle n'a pas était touchée.
Voici le code :
PHP:
Sub Monter()
    Dim PlageSource As Range
    Dim wsFeuilleActive As Worksheet
    Dim wsNouvelleFeuille As Worksheet
    
    Application.ScreenUpdating = False
    
    On Error Resume Next
    
    Set wsFeuilleActive = ActiveSheet
    Set PlageSource = Application.InputBox _
    ("Sélectionner à partir des cellules vides jusqu'à la dernière cellules à monter ! ", "Sélection Plage", Type:=8)
    
     'Ajoute une nouvelle feuille, y copie ta plage et efface les valeurs de la plage initiale

    Set wsNouvelleFeuille = Worksheets.Add
    PlageSource.Copy Destination:=wsNouvelleFeuille.Range("a1")
    PlageSource.ClearContents
    
    'Efface les blancs et recopie la plage modifiée à la place de l'ancienne
    
    wsNouvelleFeuille.Range("A1", Cells(PlageSource.Rows.Count, PlageSource.Columns.Count)).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
    wsNouvelleFeuille.UsedRange.Copy Destination:=PlageSource.Cells(1, 1)
    
      'Efface la feuille créée et réactive la première
    
    Application.DisplayAlerts = False
    wsNouvelleFeuille.Delete
    Application.DisplayAlerts = True
    
    wsFeuilleActive.Activate
    
    Application.ScreenUpdating = True
    
End Sub

Est-ce que quelqu'un sait pourquoi ? Merci
 
Dernière édition:

Discussions similaires

Statistiques des forums

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