IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Décalage de cellules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 44
    Par défaut Décalage de cellules
    Ce code doit décaler le contenu des cellules vers la droite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub decaler()
    'Dim Range As Cells
    Range("V1:BA1").Select
    Selection.Cut
    Range("W1:BB1").Paste
    End Sub
    "Propriété ou méthode non gérée par cet objet". Merci d'avance, pour ce petit code

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    Bonjour

    il vaut mieux ne pas trop utiliser les Select / Selection ..

    tel que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub decaler()
    Range("V1:BA1").Cut Range("W1:BB1")
    End Sub
    ou si tu n'as pas de cellules qui ne doivent pas être déplacées a droite de cette plage, sans utiliser le couper coller
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub decaler()
    Range("V1").Insert Shift:=xlToRight
    End Sub

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut pourinfo et le forum
    Paste est une propriété de sheets(), pas de range
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub decaler()
    'Dim Range As Cells
    Range("V1:BA1").Cut
    Range("W1:BB1").select
    Activesheet.Paste
    End Sub
    Pas envie de tester
    A+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 44
    Par défaut
    merci,
    c'est drôle car le contraire xlToLeft renvoie "Erreur définie par l'application ou par l'objet" ?


    Ceci dit, je me suis compte qu'il s'agit de décaler chaque cellule de 1 seule cellule (car il y a une cellule vide entre chaque cellule ayant du contenu), et donc le code est adapté comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub dec3()
    Dim Cells As Range
    For Each Cells In Range("V1:BA1")
    Cells.Select
    Cells.Insert Shift:=xlToRight
    Next
    End
    End Sub
     
    'l'activation renvoie "Erreur définie par l'application ou par l'objet
    Cells ne doit-il pas être reconnu comme une et une seule cellule ?

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    Bonjour

    pour faire une insertion de ce type il faut partir de la fin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub dec3()
    Dim colonne As Integer
    For colonne = Columns("BA").Column To Columns("V").Column Step -1
      Cells(1, colonne).Insert Shift:=xlToRight
    Next
    End Sub

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 44
    Par défaut
    renvoie : "Erreur définie par l'application ou par l'objet".

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut pourinfo et le forumPas glop, pas glop ! Utiliser Cells, qui est un mot réservé d'Excel, est un bon moyen pour aller dans le mur

    si tu expliquais clairement le but à atteindre ?
    D'après ton code d'origine, j'avais cru comprendre que tu voulait couper une plage et la coller à une collone à droite. Mais ça n'a pas l'air d'être ça.
    A+

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    Bonsoir

    Le dernier code que je t'ai donné fonctionne chez moi, à tout hasard essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub dec3()
    Dim colonne As Integer
    For colonne = Columns(53).Column To Columns(22).Column Step -1
      Cells(1, colonne).Insert Shift:=xlToRight
    Next
    End Sub

Discussions similaires

  1. [XL-2007] Probléme de décalage de cellule
    Par toushusss dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/06/2011, 10h32
  2. Décalage de cellule sous format Excel
    Par _cece dans le forum Jasper
    Réponses: 2
    Dernier message: 11/05/2010, 14h25
  3. Sélection, Suppression et décalage de Cellules Texte
    Par mattparla dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/03/2010, 15h23
  4. décalage de cellules sous condition
    Par gaston64 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 22/01/2010, 08h22
  5. Décalage de cellule
    Par escape dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/01/2007, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo