Probleme macro sélection cellule + copie à la suite

  • Initiateur de la discussion Initiateur de la discussion arnaudbu
  • 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 !

arnaudbu

XLDnaute Occasionnel
Bonjour,

J'aimerais sélectionner: la case actuelle + les 4 cases à droite et les copier à la suite sur une autre feuille. J'ai fait ce code mais cela ne fonctionne pas.

Quelq'un pourrait -il m'aider ?

Code:
ActiveCell(3, 3).Select
Selection.Copy
Sheets("Suivi_Actions").Select
Cells(Range("A65536").End(xlUp).Row + 1, 1).Select
ActiveSheet.Paste

Merci
 
Re : Probleme macro sélection cellule + copie à la suite

Bonjour Arnaudbu,

ActiveCell(3, 3) n'a pas de sens en VBA.

Il faut écrire soit Cells(3, 3).Select soit ActiveCell.Select.

Edition : bon, je n'avais pas tout lu, écrivez donc au début :

Range(ActiveCell, ActiveCell.Offset(0, 4)).Select

A+
 
Dernière édition:
Re : Probleme macro sélection cellule + copie à la suite

Bonjour Arnaud, Job

une autre solution, en une seule instruction, sans les "select", rarement utilies en vba :

Code:
Sheets("nomdelafeuillesource").Range(ActiveCell, ActiveCell.Offset(0, 4)).Copy _
    Destination:=Sheets("Suivi_Actions").Range("A65536").End(xlUp).Offset(1, 0)

bon après midi
@+
 
Re : Probleme macro sélection cellule + copie à la suite

Re

pour uniquement les valeurs, essaye comme suit (non testé) :

Code:
With Sheets("Suivi_Actions")
    .Range(.Range("A65536").End(xlUp).Offset(1, 0), .Range("A65536").End(xlUp).Offset(1, 4)).Value = _
        Sheets("nomdelafeuillesource").Range(ActiveCell, ActiveCell.Offset(0, 4)).Value
End With

bonne soirée
@+
 
Re : Probleme macro sélection cellule + copie à la suite

Re

valeur + mise enforme :

Code:
Sheets("nomdelafeuillesource").Range(ActiveCell, ActiveCell.Offset(0, 4)).Copy _
    Destination:=Sheets("Suivi_Actions").Range("A65536").End(xlUp).Offset(1, 0)
With Sheets("Suivi_Actions")
    .Range(.Range("A65536").End(xlUp).Offset(0, 0), .Range("A65536").End(xlUp).Offset(0, 4)).Value = _
    .Range(.Range("A65536").End(xlUp).Offset(0, 0), .Range("A65536").End(xlUp).Offset(0, 4)).Value
End With

non testé...

@+
 
Re : Probleme macro sélection cellule + copie à la suite

Bonsoir à tous


Valeurs et mise en forme
(changer le nom des feuilles)

J'ai adopté cette syntaxe pour la commodité de lecture du code VBA
Code:
Option Explicit

Sub test()
Dim rs As Range, rd As Range
With Sheets(1)
    Set rs = .Range(ActiveCell, ActiveCell.Offset(0, 4))
    Set rd = Sheets(2).Range("A65536").End(xlUp).Offset(1, 0)
    rs.Copy
    rd.PasteSpecial xlValues
    rd.PasteSpecial xlFormats
   End With
Application.CutCopyMode = False
End Sub
 
Re : Probleme macro sélection cellule + copie à la suite

Chez moi a la maison pas de problème. Au travail j'ai cette erreur:

Erreur d'execution 1004
La methode PasteSpecial de la classe Range a echoué

Excel 2002 SP3 sur les deux postes

Une idée ?
 
Re : Probleme macro sélection cellule + copie à la suite

Re

Normalement
Sheets(1), Sheets(2) indiquent que le classeur contient une feuille d'index 1
et une feuille d'index 2

Essaye en indiquant le nom des feuilles

Si les feuilles se nomment Feuil1 et Feuil2 , modifie ainsi
Code:
Option Explicit

Sub test()
Dim rs As Range, rd As Range
With Sheets([COLOR="Red"]"Feuil1"[/COLOR])
    Set rs = .Range(ActiveCell, ActiveCell.Offset(0, 4))
    Set rd = Sheets([COLOR="Red"]"Feuil2"[/COLOR]).Range("A65536").End(xlUp).Offset(1, 0)
    rs.Copy
    rd.PasteSpecial xlValues
    rd.PasteSpecial xlFormats
   End With
Application.CutCopyMode = False
End Sub
 
Dernière édition:
Re : Probleme macro sélection cellule + copie à la suite

Code:
Sub archivage()

If ActiveCell.Column < 9 Or ActiveCell.Column > 9 Then
MSG = MsgBox("Veuillez sélectionner une case dans la Colonne 'Com'", vbCritical, "Attention")
Exit Sub

ElseIf ActiveCell.Row < 10 Or ActiveCell.Row > 32 Then
MSG = MsgBox("Rien à selectionner dans cette partie de la feuille", vbCritical, "Attention")
Exit Sub

Else
    
Dim rs As Range, rd As Range
With Sheets("Rapport")
    Set rs = .Range(ActiveCell, ActiveCell.Offset(0, 6))
    Set rd = Sheets("Suivi_Actions").Range("A65536").End(xlUp).Offset(1, 0)
    rs.Copy
    rd.PasteSpecial xlFormats
    rd.PasteSpecial xlValues
   End With
Application.CutCopyMode = False
    
Sheets("Suivi_Actions").Select

Cells(Range("A65536").End(xlUp).Row - 0, 1).Select

Range(ActiveCell, ActiveCell.Offset(0, 6)).Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone
   Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With

End If

End Sub
 
Re : Probleme macro sélection cellule + copie à la suite

Re


Houla!


Si tu mélanges du code VBA qui essaie de limiter au maximum les Selection

et du code plein de Select, ça va faire des étincelles.

Ps: Les Dim se mettent toujours en, début de code
 
- 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

Retour