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 :

Problème: Insertion ligne VBA sous condition


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 7
    Par défaut Problème: Insertion ligne VBA sous condition
    Bonjour à toutes et à tous

    J'ai besoin de votre aide svp!

    Je veux insérer une ligne dans mon fichier excel à travers une macros.

    Sauf que j'ai besoin que cette ligne soit insérer dans un endroit ou la valeur de TextBox2.Value ( "temps d'arrivée") soit bien ordonnée par rapport aux autres valeurs.
    Sans complications!! j'ai besoin que cette liste soit toujours ordonné après l'insertion.

    Je vous remercie d'avance et je reste à votre disposition pour toute question

    Veuille trouvez en pièce jointe mon exemple
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Bonjour.

    Tu as 2 possibilités :
    1. Ajouter ta valeur "en bas" de ta liste, puis trier.
    2. Parcourir la liste et trouver l'élément qui est juste inférieur à celui que tu veux insérer puis insérer une ligne après cet élément.


    La 1ère solution est techniquement plus simple selon moi notamment parce qu'elle t'évite d'avoir à gérer le cas où l'élément est inférieur au 1er élément déjà présent.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Bonjour, a votre place je me fatiguerais pas à rechercher l'emplacement d'insertion de la ligne. Je mettrais la nouvelle ligne en dernier, et j'effectuerais un tri dans le sens nécessaire d'après la colonne à utiliser

    Cordialement

    Oups!!! mon message vient d'arriver un instant après celui de R.Marot

  4. #4
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 7
    Par défaut
    Je vous remercie beaucoup pour vos reponse assez rapide

    Je voulais faire l'insertion des valeurs à la fin de la liste , mais je suis encore bloqué
    Pourriez vous vérifier avec moi le code svp! ( exemple en pièce jointe).

    Merci encore une fois ( et je m'excuse pour ces genre des questions simple peut être! Ca fais pas longtemps que j'ai commencé le vba )
    Fichiers attachés Fichiers attachés

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Bonjour.

    Tout le monde ne peut (ou ne veut) pas forcément télécharger des fichiers.

    Peux-tu poster le code que tu utilises et indiquer où tu est "bloqué" et comment tu es "bloqué" (le code génère une erreur ? Laquelle ? Où ? Il ne donne pas les résultats attendus ? Qu'attendais-tu ? Qu'as-tu eu ? Autre chose ?).

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 7
    Par défaut
    Bonjour Marot_r , merci pour votre message!!

    Le code n'affiche pas de résultat. Je veux bien insérer une ligne a la fin de la liste en colonne C et qui prend ses valeurs des texts boxs 1 et 2.

    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
    Private Sub CommandButton1_Click() ' bouton "start"
     
        If TextBox1.Value = "" Or TextBox2.Value = "" Then
            MsgBox "Information manquante!!"
     
    Dim DerniereLigne As Long
    DerniereLigne = Range("C" & Rows.Count).End(xlUp).Row
    MsgBox DerniereLigne
     
        If TextBox1.Value = "" Or TextBox2.Value = "" Then
            MsgBox "Information manquante!!"
        Else
     
            With Sheets("Feuil1").Range("A1:A" & DerniereLigne)
                 Rows(DerniereLigne & ":" & DerniereLigne + 1).Insert xlDown
                .Range("B1" & DerniereLigne + 1) = TextBox1.Value
                .Range("C1" & DerniereLigne + 1) = TextBox2.Value
                .Offset(1).Interior.Color = xlNone
            End With
     
        End If
    End If
     
    End Sub

  7. #7
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Bonjour, premièrement, pensez à mettre les codes entre balises dièse pour l'avoir comme ci-dessous
    deuxièmement, il vaut mieux déclarer une variable juste après le début de la procédure voir ci-dessous
    troisièmement si vous utilisez la dernière ligne, il n'est pas utile de faire une insertion par contre il faut faire un tri.

    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
    Private Sub CommandButton1_Click() ' bouton "start"
    Dim DerniereLigne As Long
    If TextBox1.Value = "" Or TextBox2.Value = "" Then
       MsgBox "Information manquante!!"
    
       DerniereLigne = Range("C" & Rows.Count).End(xlUp).Row
       MsgBox DerniereLigne
          If TextBox1.Value = "" Or TextBox2.Value = "" Then
              MsgBox "Information manquante!!"
          Else
             With Sheets("Feuil1").Range("A1:A" & DerniereLigne)
              Rows(DerniereLigne & ":" & DerniereLigne + 1).Insert xlDown  '.Insert est inutile
             .Range("B1" & DerniereLigne + 1) = TextBox1.Value
             .Range("C1" & DerniereLigne + 1) = TextBox2.Value
             .Offset(1).Interior.Color = xlNone
            End With
         End If
    End If
    End Sub
    Cordialement

Discussions similaires

  1. Problème: Insertion ligne VBA
    Par khalil.ch dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/07/2019, 18h12
  2. Effacer une ligne sélectionnée sous condition
    Par Liloo14 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/04/2013, 00h55
  3. [XL-2003] Suppression de ligne(s) sous condition dans un tableau
    Par jorisfavre dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/02/2013, 16h51
  4. Suppression lignes tableaux sous condition
    Par ES718 dans le forum VBA Word
    Réponses: 2
    Dernier message: 17/07/2012, 09h07
  5. enregistrer lignes fichier sous condition
    Par makohsarah dans le forum Langage
    Réponses: 1
    Dernier message: 21/08/2006, 15h46

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