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 :

Insertion de ligne decalage de choix de liste combobox


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2014
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 137
    Points : 13
    Points
    13
    Par défaut Insertion de ligne decalage de choix de liste combobox
    salut a tous

    n étant pas arrive avec les hypertextes je reviens au vba avec le même problème + d autres

    1er)
    le double clic sur la "feuil1" ouvre ma liste "feuil3" marche

    la selection dans la liste doit allez sur la (feuil2) marche pas

    positionner la selection de la liste en "feuil2 B5" marche pas de la "feuil1" ( mais marche a partir du double clic sur la "feuil2" (meme liste que "feuil1")

    2eme)
    si j insere une nouvelle ligne en "11" ca me decale les poires et pommes

    comment éviter ça pour que les poires et pommes reste bien en B5 une fois sélectionne dans la liste

    3eme)
    si le modifie ma liste (etant classe alphabetiquement) la aussi plus rien ne vas

    comment automatiser tout ça !!!

    ci-joint fichier
    Fichiers attachés Fichiers attachés

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    As-tu lu ceci (pourtant marqué IMPORTANT) ???
    https://www.developpez.net/forums/d8...s-discussions/
    Penses-tu vraiment que je vais prendre le risque d'ouvrir ton classeur pour être en mesure de te répondre ? -->> c'est tout simplement hors de question !

    Si tu veux vraiment de l'aide, fais s'il te plait l'effort d'exposer techniquement, clairement et complètement les tenants et aboutissants.
    Et pour être en meilleure conformité avec les règlements de ce forum : montre le code au moins tenté pour résoudre ta difficulté.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2014
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 137
    Points : 13
    Points
    13
    Par défaut
    hello

    personne ??


  4. #4
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2014
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 137
    Points : 13
    Points
    13
    Par défaut
    hello une solution svp

  5. #5
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Si tu veux une solution, réfères-toi au message de @unparia. Tu n'auras probablement pas d'aide de notre part tant que tu ne respecteras pas les règles du forum.
    Si tu ne comprends pas ce que l'on veut dire (c'est bien dommage d'une part), alors pour faire simple :
    pièce jointe en .xlsm = vulnérabilité de celui qui ouvre le fichier (risque de piratage).
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  6. #6
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2014
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 137
    Points : 13
    Points
    13
    Par défaut
    bonjour jeanmidudu

    c simple pourtant

    1er)
    le double clic sur la "feuil1" ouvre ma liste "feuil3" marche
    la selection dans la liste doit allez sur la (feuil2) marche pas
    allez de la feuille 1 a la feuille 2 a partir du choix de la combobox

    2eme)
    si j insere une nouvelle ligne en "11" ca me decale les poires et pommes
    comment éviter ça pour que les poires et pommes reste bien en B5 une fois sélectionne dans la liste
    le choix fait dans la liste combobox doit ce retrouver en b5 feuille 2 même quand j insère une nouvelle ligne
    ce qui n est pas le cas

    espere que ca soit plus clair comme ca

    merci de m aider..

  7. #7
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Et si tu mettais ton code qui coince on comprendrais mieux et on pourrait t'aider
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

  8. #8
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2014
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 137
    Points : 13
    Points
    13
    Par défaut
    salut Igloobel

    ben c la le problème j ai pas de code et suis pas assez caler pour ça

    g bien chercher mais rien trouver ou tres compliquer pour moi

    pourtant c la base de pouvoir allez d une feuille a une autre avec une liste combobox

    et de rajouter une ligne sans que ça décale tout

    en tout cas merci de te penche sur mon cas !!!

  9. #9
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Au risque de paraitre antipathique, nous ne sommes pas là pour faire le travail à votre place, mais pour aider à avancer et corriger des problèmes. Du coup, c'est à toi de fournir le premier code, sur lequel on pourra t'aider par la suite.
    si tu veux des pistes pour réaliser ce que tu souhaites :
    - Commence par créer une listbox
    - alimente ta listbox avec les données souhaitées (nom des onglets par exemple) voir ici : http://silkyroad.developpez.com/VBA/...serForm/#LII-G
    - Pour activer une feuille : voir la propriété activate (worksheet.activate, si tu veux juste sélectionner, c'est la propriété select)
    - Idem que précédent pour les cellules cells.activate / cells.select ou range.activate / range.select

    si j insere une nouvelle ligne en "11" ca me decale les poires et pommes
    comment éviter ça pour que les poires et pommes reste bien en B5 une fois sélectionne dans la liste
    Toujours pas compris, mais tu peux déjà commencer à regarder la propriété insert de range.insert (ou cells.insert)

    Une fois que tu auras fait un petit code (pas forcément fonctionnel mais qui ressemble à quelque chose), nous serons là pour t'aider à le déboguer
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  10. #10
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour !

    Citation Envoyé par jeanmidudu Voir le message
    Au risque de paraitre antipathique, nous ne sommes pas là pour faire le travail à votre place
    Aucun risque de ce genre sur ce forum car après tout, ce sont bien les règles du forum !
    Et qui auraient dû être lues avant de s'inscrire sur le forum …

    ___________________________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  11. #11
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2014
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 137
    Points : 13
    Points
    13
    Par défaut
    je recommence et je suis bien la pour avoir de l aide avec des conseils des references et pas pour !!!
    nous ne sommes pas là pour faire le travail à votre place
    donc ont va déjà régler la 1ere étape

    j ai cree un userform avec un combobox qui a une liste qui selon le choix doit se mettre en feuille2 b5 (noms des onglets feuil1,feuil2,feuil3)

    pour commencer je double clic sur une cellule de la feuille 1 qui ouvre ma liste combobox

    quand je selectionne "bananes" dans ma liste combobox ouverte ca doit :

    allez en feuille 2 et ranger "bananes" b13 en b5 (b5 etant la cellule figer des volets)

    pour l instant je bloque juste sur le passage de la feuille 1 a la feuille 2 (la liste s ouvre bien en feuille 1 mais ne va pas en feuille 2)

  12. #12
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Dans ce cas, pourrais-tu nous fournir le code que tu as déjà réalisé, et si tu as une erreur, nous dire laquelle. Mais nous ne pourrons pas faire grand chose de plus sans le code (Pense à utiliser les balises [code] [ /code])
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  13. #13
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2014
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 137
    Points : 13
    Points
    13
    Par défaut
    ben c la le problème j ai pas de code
    pour passer d une feuille a l autre

    voila mes codes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
       cel = target.Address
    Cancel = True
    If Not Intersect(target, Range("a1:w50")) Is Nothing And UserForm1.Visible = False Then
    UserForm1.Show
    End If
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
       cel = target.Address
    Cancel = True
    UserForm1.Show
    End Sub
    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 UserForm_Activate()
      Me.ComboBox1.DropDown
    End Sub
     
    Private Sub UserForm_Initialize()
    ComboBox1.List = Worksheets("feuil3").Range("A2:A15").Value
    With Me
          .StartUpPosition = 3
          .Left = 280
          .Top = 20
    End With
    End Sub
     
    Private Sub ComboBox1_Change()
    Dim R
    R = Array(13, 9, 5, 17)
    ActiveWindow.ScrollRow = R(ComboBox1.ListIndex)
    Unload Me
    End Sub

  14. #14
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Donc j'avais bien compris, donc on en en revient à nos divers messages. Commence par rédiger ton propre code, je t'ai déjà donné plusieurs pistes pour le faire
    - Commence par créer une listbox
    - alimente ta ListBox avec les données souhaitées (nom des onglets par exemple) voir ici : http://silkyroad.developpez.com/VBA/...serForm/#LII-G
    - Pour activer une feuille : voir la propriété activate (worksheet.activate, si tu veux juste sélectionner, c'est la propriété select)
    - Idem que précédent pour les cellules cells.activate / cells.select ou range.activate / range.select
    Les 2 premiers points tu les as réalisés. Ensuite il ne reste qu'à réaliser les 2 suivants. Pour info, les deux derniers points sont à mettre dans le code de la ComboBox (private ComboBox1_Change() )
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  15. #15
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2014
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 137
    Points : 13
    Points
    13
    Par défaut
    ok v essayer

  16. #16
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Lien vérifié : il renvoie correctement à l'aide sur controls de userform du forum developpez, par silkyroad
    Si tu as une ComboBox, rédige le code de la ComboBox, ce n'est qu'un détail car le code sera très similaire.

    Pour ce qui est du lien, le précédent renvoyait au chapitre des listbox, celui-ci renvoie au chapitre des combobox directement, soit le chapitre juste au-dessus (testé, vérifié, fontionnel) : http://silkyroad.developpez.com/VBA/...serForm/#LII-F

    Si le lien ne fonctionne toujours pas (ce qui serait une aberration), voici le lien sans la référence au chapitre : http://silkyroad.developpez.com/VBA/ControlesUserForm/, il te suffit de parcourir la page pour aller voir ce qui se trouve dans la section combobox (tu peux en profiter pour regarder toute la page d'ailleurs).

    Et si par une incroyable malchance ça ne fonctionne pas, une simple recherche sur le net avec les termes "developpez silkyroad control userform" t'amènera les résultats que tu veux (premier lien)

    Je ne peux pas faire plus simple
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  17. #17
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2014
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 137
    Points : 13
    Points
    13
    Par défaut
    c de ma faute en fait g pris le lien dans ton copier d ou l erreur a l ouverture

    g regarde si je trouve pour passer a la 2eme feuille mais rien vu qui me parle
    pas fini de galérer mais je suis tenace !!!

  18. #18
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Si j'en fais plus, ça serait te donner tout le code.

    1) Créer la procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private sub ComboBox1_Change()
    2) Associer le contenu de la ComboBox à la gestion des feuilles (worksheets(nomFeuille)), où nomFeuille est le contenu de la ComboBox
    3) Utiliser les propriétés .activate ou .select des feuilles (worksheet) pour changer de feuille

    Si avec cela + le tuto de Silkyroad tu n'arrives pas à produire un semblant de code, je ne sais plus quoi faire.
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  19. #19
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2014
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 137
    Points : 13
    Points
    13
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub ComboBox1_Change()
    Worksheets("feuil2").Activate
    Dim R
    R = Array(13, 9, 5, 17)
    ActiveWindow.ScrollRow = R(ComboBox1.ListIndex)
    Unload Me
    End Sub
    chez pas si c bien comme ça mais ça marche merci pour celle la !!!

    2eme etape

    si j insère une ligne Evidemment ça décale comment faire pour retrouver garder mes "bananes" en b5 et non en b6

  20. #20
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    C'est quoi le rapport avec la choucroute?

    Sérieusement, va falloir que tu t'expliques, beaucoup mieux que cela, vraiment étape par étape parce que là...
    1) Tu dis que ton code marche, mais il n'a aucun rapport avec tes demandes précédentes...
    2) Tes demandes ne sont pas assez explicites (pour ma part).
    3) Qu'entends-tu par "insérer"? Car une insertion décalera toujours les cellules. Confonds-tu avec copier? Additionner?
    4) Que sont tes "bananes" ?
    5) Une description serait probablement utile à la compréhension de ton problème
    6) Encore mieux, une capture d'écran de ton classeur !
    7) Je suis à cheval sur la grammaire, mais là, va quand même falloir faire des efforts...
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

Discussions similaires

  1. Afficher seulement certaines lignes avec un choix de liste déroulante
    Par MaraVen83 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/05/2016, 17h27
  2. Réponses: 1
    Dernier message: 16/07/2014, 20h10
  3. Cacher lignes en fonction choix dans liste déroulante
    Par Craquotte dans le forum Excel
    Réponses: 4
    Dernier message: 27/02/2013, 21h08
  4. Réponses: 6
    Dernier message: 03/08/2007, 17h28
  5. Réponses: 6
    Dernier message: 24/01/2005, 11h06

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