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éplacé des ligne vers une autre feuille avec des condition


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Etudient
    Inscrit en
    Juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Maroc

    Informations professionnelles :
    Activité : Etudient
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Déplacé des ligne vers une autre feuille avec des condition
    Bonjour, svp je veux déplacé des ligne vers une autre feuille avec des condition j'ai le code mais ce code il m'aide seulement pour copié et non pas déplacé et moi je veux qu'il ce d"place voilà mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Private Sub CommandButton3_Click()
    Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
    Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
    Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
    Dim NL As Long 'déclare la variable NL (Nombre de lignes)
    Dim NC As Byte 'déclare la variable NC (Nombre de colonnes)
    Dim I As Long 'déclare la variable I (Incrément)
    Dim J As Byte 'déclare la variable J (incrément)
    Dim K As Long 'déclare la variable K (incrément)
    Dim L As Byte 'déclare la variable L (incrément)
    Dim TL() As Variant 'déclare la variable TL (Tableau des Lignes)
    Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
     
    Set OS = Worksheets("Entrée de charge") 'définit l'onglet source OS
    Set OD = Worksheets("Livraison") 'définit l'onglet destination OD
    TV = OS.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
    NL = UBound(TV, 1) 'définit le nombre de lignes NL du tableau des valeurs TV
    NC = UBound(TV, 2) 'définit le nombre de colonnes NC du tableau des valeurs TV
    K = 1 'initialise la variable K
    For I = 2 To NL 'boucle 1 : sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde)
        If TV(I, 10) = "Terminé" Then 'condition : si la données ligne I colonne 10 (=> colonne J) est égale à "Terminé"
            ReDim Preserve TL(1 To NC + 2, 1 To K) 'redimensionne le tabbleau des lignes TL( 2 ligne de plus que TV a de colonnes, K colonnes)
            For J = 1 To NC 'boucle 2 : sur toutes les colonnes J du tableau des valeurs TV
                L = IIf(J < 10, J, J + 2) 'définit la variable L (en fonction de J)
                TL(L, K) = TV(I, J) 'récupère dans la ligne L de TL la donnée en colonne J de TV (= Transposition)
            Next J 'prochaine colonne de la boucle 2
            K = K + 1 'incrémente K (ajoute une colonne au tableau des lignes TL)
        End If 'fin de la condition
    Next I 'prochaine ligne de la boucle 1
    If K > 1 Then 'condition : si K est supérieure à 1
        Set DEST = OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0) 'définit la cellue de destination DEST
        'renvoie dans DEST redimensionnée le tableau TL transposé
        DEST.Resize(UBound(TL, 2), UBound(TL, 1)).Value = Application.Transpose(TL)
    End If 'fin de la condition
    End Sub
    et Merci d'avance

  2. #2
    Nouveau membre du Club Avatar de Roiser
    Homme Profil pro
    Etudiant - MIAGE
    Inscrit en
    Juillet 2017
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Etudiant - MIAGE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 29
    Points : 37
    Points
    37
    Par défaut
    Bonjour,

    Comment tu fais pour te repérer dans ton code avec ces noms de variable ?? (du coups je l'ai un peu survolé)

    Sinon pour ton problèeme je pense que tu peux tout simplement supprimer ta ligne après l'avoir copié ou d'utiliser "Selection.fonction Cut Destination : = "

    Je pense aussi que tu peux trouver des piste à ton problème à l'aide de l'enregistreur de macros .

  3. #3
    Candidat au Club
    Homme Profil pro
    Etudient
    Inscrit en
    Juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Maroc

    Informations professionnelles :
    Activité : Etudient
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci de votre attention

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 937
    Points : 28 934
    Points
    28 934
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si tu souhaites exporter des lignes d'une liste de données suivant conditions, la façon la plus simple en programmation est l'utilisation de la méthode AdvancedFilter (Filtre avancé d'excel)
    Après avoir déclaré la zone des données, des critères et celle ou doit avoir lieu l'exportation, c'est une ligne de code en VBA

    Le lien sur le tutoriel qui traite du sujet se trouve dans ma signature.

  5. #5
    Candidat au Club
    Homme Profil pro
    Etudient
    Inscrit en
    Juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Maroc

    Informations professionnelles :
    Activité : Etudient
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    merci chef

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

Discussions similaires

  1. Remplir un tableau avec des données d'une autre feuille
    Par nomade333 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/04/2012, 12h17
  2. [XL-2007] Copier vers une autre feuille avec la même largeur de colonne
    Par apdf1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/11/2011, 21h35
  3. [XL-2003] Copier des lignes dans une autre feuille à la première ligne vide
    Par PasDan dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/09/2010, 13h34
  4. Déplacer des lignes dans une autre feuille
    Par dj-julio dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 22/11/2007, 09h24
  5. Excel-copier des lignes sur une autre feuille
    Par petecul dans le forum Excel
    Réponses: 7
    Dernier message: 13/09/2007, 02h56

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