Déplacer des données d'une colonne vers une autre dans un tableau VBA

Bonjour à tous,

J'ai crée un bouton déplacer, je demande au code de parcourir toutes les feuilles différentes d'Excel et de déplacer les données de la colonne N à N-1.

Je veux déplacer les données à partir de la ligne 8 à la ligne 8 et de la colonne 15 à la colonne 18.

Mon code est le suivant mais il ne fonctionne pas, il ne reconnait pas la variable :

Sub Déplacer() 'pour déplacer les données
Application.Calculation = xlAutomatic 'On accelere l'exécution'
Dim Current As Worksheet 'Déclaration de variable
For Each Current In Worksheet

If Left(Current.Name, 6) <> "EUROPE" Then 'On exclut toutes les pages commençant par EUROPE
Const Col_Depart = 15
Const Lign_Depart = 8
Const Col_Arrivée = 18
Const Lign_Arrivée = 8

Current.Cells(Lign_Depart, Col_Depart).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Current.Cells(Lign_Arrivée, Col_Arrivée).Select
Selection.Paste

End If
Next Current
Application.Calculation = xlAutomatic 'on accelere l'éxécution'
End Sub

Merci d'avance pour votre aide.

Bonjour,

Tu dois copier plusieurs lignes ?

Ici tu as une erreur déjà : For Each Current In Worksheet ce doit être : For Each Current In ThisWorkbook.Worksheets

Oui toutes les données des lignes 8 à 28 et dans toutes les feuilles

Bonjour à tous,

J'ai essayé ce code qui ne fonctionne pas non plus.

Qqn peut-il m'aider ?

Sub Effacer() 'pour déplacer les données

Application.Calculation = xlAutomatic 'On accelere l'exécution'
Dim Current As Worksheet 'Déclaration de variable
For Each Current In ThisWorkbook.Worksheets

If Left(Current.Name, 6) <> "EUROPE" Then 'On exclut toutes les pages commençant par EUROPE

Range("O8:O28").Select
Selection.Copy
ActiveWindow.LargeScroll Down:=-2
Range("R8").Select
ActiveSheet.Paste

End If
Next Current
Application.Calculation = xlAutomatic 'on accelere l'éxécution'
End Sub

Bonjour,

J'ai crée un bouton déplacer, je demande au code de parcourir toutes les feuilles différentes d'Excel et de déplacer les données de la colonne N à N-1.

Je veux déplacer les données à partir de la ligne 8 à la ligne 8 et de la colonne 15 à la colonne 18.

N à N-1 ce n'est pas pareil que de la colonne 15 à la colonne 18.

D'après le code fournit il semblerait que vous vouliez copier les données de la plage de chaque feuille sur la feuille active c'est cela ?

Donc à demande claire réponse claire...

Désolé j aurais dû être plus claire, j ai une quinzaine de feuille que je souhaite parcourir, hormis la feuille Europe.

Dans chacune des feuilles je veux déplacer les cellules O8 à O28 dans la même colonne donc à la colonne R donc déplacer les données sur la place R8 à R28.

Merci d avance pour votre aide.

Re,

Donc si j'ai bien compris cette procédure devrait faire le job :

Public Sub MoveValues() 'pour déplacer les données
    On Error GoTo Catch

    Dim TabSaveParams As Boolean
    TabSaveParams = Application.EnableEvents
    Application.EnableEvents = False ' // Inutile si pas de code sur les évènements change des feuilles

    Dim ItemSheet As Excel.Worksheet
    For Each ItemSheet In ThisWorkbook.Worksheets
        If Not ItemSheet.Name Like "EUROPE*" Then
            With itemRange
                .Range("R8:R28").Value = .Range("O8:O28").Value ' // Ici pas de recopie du format sinon utiliser la méthode Cut ci-dessous
                .Range("O8:O28").Value = vbNullString
'                .Range("R8:R28").Cut
'                .Range("O8:O28").PasteSpecial XlPasteType:=xlPasteAll
            End With
        End If
    Next ItemSheet

Catch:
    If Err.Number > 0 Then
        'Todo Do something ?
    End If

    Application.EnableEvents = TabSaveParams
End Sub

Merci beaucoup, j'ai réadapté, ca marche nickel :

Sub MoveValues() 'pour déplacer les données

Application.Calculation = xlAutomatic ' on accelere l'éxécution'

Dim Current2 As Worksheet 'Déclaration de variable
For Each Current2 In Worksheets

If Left(Current2.Name, 6) <> "EUROPE" Then ' On exclut toutes les pages commençant par EUROPE
'Current.Activate 'On activate toutes les pages une à une

Current2.Range("R8:R28").Value = Current2.Range("O8:O28").Value
'Current2.Range("O8:O28").Value = vbNullString

End If
Next Current2
Application.Calculation = xlAutomatic ' on accelere l'éxécution'
End Sub

Rechercher des sujets similaires à "deplacer donnees colonne tableau vba"