Intervertir deux lignes VBA

Résolu
Archi89 Messages postés 6 Statut Membre -  
Archi89 Messages postés 6 Statut Membre -
Bonjour,

Je vous sollicite pour trouver une solution à mon petit pb.
Voilà, je désire avoir une macro vba qui permet d'intervertir les valeurs de deux lignes.
J'ai un tableau avec P colonnes et 1500 lignes :
J'ai deux boucles (variables i et j, qui balayent les lignes) et j'aimerai intervertir les valeurs (de la colonne A à O (je garde P intacte)) des lignes i et j.
J'espère être assez clair.
Merci d'avance.

3 réponses

  1. Archi89 Messages postés 6 Statut Membre
     
    J'ai pensé à ceci:

    ReDim ligne1(0, 14) As String
    ReDim ligne2(0, 14) As String

    For n = 1 To 15 '(de A à O)
    ligne1(0, n - 1) = Cells(i, n).Value
    ligne2(0, n - 1) = Cells(j, n).Value
    Cells(i, n).Value = ligne2(0, n - 1)
    Cells(j, n).Value = ligne1(0, n - 1)
    Next

    Je rappel que j'ai deux boucles i et j (elles ne sont pas représentées ici).
    Je trouve cette solution assez lourde.
    N'existe t'il pas une solution plus simple (sans boucle n, pas ex)?
    Merci d'avance
    0
  2. Iama Messages postés 324 Statut Membre 14
     
    Bonjour Archi89

    Je pense que tu peux t'inspirer de :

    Dim zoN As Range, zonV As Variant
    Set zoN = Range(Cells(2, 1), Cells(2, 15))
    zonV = zoN.Value

    Range(Cells(4, 1), Cells(4, 15)) = zonV

    Iama
    0
  3. Archi89 Messages postés 6 Statut Membre
     
    Merci Iama, j'utilisais mal la fonction Range et Set.
    Tout est rentré dans l'ordre.
    0