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 :

echange de lignes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut echange de lignes
    Bonjour , voici un code qui échange le contenu de 2 cellules :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub echange(ByVal Cel1 As Long, ByVal Cel2 As Long)
    dim val as double
    val = cells(cel1,col).value
    cells(cel1,col).value = cells(cel2,col).value
    cells(cel2,col).value = val
    End Sub
    J'aimerais savoir faire un échange pour 2 lignes entières , mes essais avec range(cells(...)) n'ont pas donner de bons résultats mais c'etait dans le bon chemin , quelqu'un aurait une idée ?

    merci

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    En inversant directement les lignes ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub echange(ByVal Lig1 As Long, ByVal Lig2 As Long)
    'Lig1 DOIT être plus petit que Lig2
        Sheets("Feuil1").Select
        Rows(Lig2).Insert
        Rows(Lig1).Copy Rows(Lig2)
        Rows(Lig2 + 1).Copy Rows(Lig1)
        Rows(Lig2 + 1).Delete
    End Sub
    A+

  3. #3
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour le fil le forum inverser les 2 premieres lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Inverse()
    Dim T
    T = [a1:iv1]: [a1:iv1] = [a2:iv2].Value: [a2:iv2] = T
    End Sub
    ou pour exploiter des variables rows(x,y)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Inverse1()
    Dim x As Long, y As Long, t
    x = 2: y = 1
    t = Rows(x): Rows(x) = Rows(y).Value: Rows(y).Value = t
    End Sub

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour Laetitia,
    Petit inconvéniant en passant par un variant, les formules ainsi que les mises en formes ne sont pas prisent en compte alors qu'avec copy les transcriptions sont littérales.
    A+

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut
    Bonjour , merci pour votre aide mais finalement j'ai trouvé une méthode plus simple en faisant une simple boucle dans une de mes macros .

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Citation Envoyé par shaku Voir le message
    Bonjour , merci pour votre aide mais finalement j'ai trouvé une méthode plus simple en faisant une simple boucle dans une de mes macros .
    Ce qui veut dire que tu n'a rien compris à ce que l'ont t'a expliqué.
    Bonne continuation.
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [API HTML5] Echange de lignes avec DRAG and DROP
    Par Isiker dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/07/2015, 11h22
  2. Procedure ou fonction qui echange les lignes d'une table
    Par cedro dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 29/07/2011, 10h34
  3. Echanger 2 lignes d'un fichier
    Par ITINIEN_FOU dans le forum Administration système
    Réponses: 2
    Dernier message: 30/05/2008, 08h53
  4. [TP]lire une ligne de l'ecran et la stocker dans une chaine
    Par Bleuarff dans le forum Turbo Pascal
    Réponses: 26
    Dernier message: 02/07/2002, 10h08
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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