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 :

Aide au sujet d'un détail dans ma macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Par défaut Aide au sujet d'un détail dans ma macro
    Bonjour mes amis

    Voila je suis face à un petit problème que j'arrive pas à résoudre en effet mon souci est dans la macro ci dessous est que l'userform qui applique cette macro se trouve en feuille 2 mais lorsque je valide il revient toujours sur la feuille Liste_Fournisseurs est c'est logique puisque les lignes 17 et 51 du code sont la cause

    donc se que je veux c rester sur feuil 2 meme si je valide su la maco

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    Private Sub AjoutNouveauFournisseur_Click()
     
    Dim LigneVide As Integer, DernierID As Integer
    Dim Ctrl As Control, R As Integer
    Dim Derlig As Long, Lig As Long
    Dim Cellules As Range
     
    'Ne pas raffraichir pendant le code
      Application.ScreenUpdating = False
    'Toujours la première lettre en majuscule
      Fournisseurs_TextBox = Trim(Fournisseurs_TextBox)
      Fournisseurs_TextBox = UCase(Left(Fournisseurs_TextBox, 1)) & Mid(Fournisseurs_TextBox, 2)
    'Recherche de l'ID du dernier client
      With Sheets("Liste_Fournisseurs")
        Set Cellules = Sheets("Liste_Fournisseurs").Range("B14:B")
        DernierID = Application.WorksheetFunction.Max(Cellules)
        LigneVide = Sheets("Liste_Fournisseurs").Select.Range("B" & Rows.Count).End(xlUp).Row + 1
        If LigneVide < 14 Then LigneVide = 14
    'Ecrire le nouveau N° dans la dite feuille (Liste_Fournisseurs)
        Range("B" & LigneVide) = DernierID + 1
    'Afficher le nouvel ID dans le Textbox1
        Me.Numero_TextBox = DernierID + 1
    'Envoyer chaque donnée vers la cellule concérnée selon le numero de Tag.
    'Le numéro de Tag est égale au numéro de la colonne dans la feuille (Liste_Fournisseurs)
    'Pour voir le numéro de Tag rendez-vous sur les propriétés de chaque TextBox ou Combobox
      For Each Ctrl In AjoutFournisseurs.Controls
       R = Val(Ctrl.Tag)
      If R > 0 Then .Cells(LigneVide, R) = Ctrl
     Next
    'La mise en fomre sur feuille (Liste_Fournisseurs) après l'ajout du fournisseur
      Derlig = Sheets("Liste_Fournisseurs").[C10014].End(xlUp).Row
      For Lig = 14 To Derlig
      With Cells(Lig, "B").Resize(, 3)
          .Borders.LineStyle = xlContinuous
          .HorizontalAlignment = xlCenter
          .Interior.ColorIndex = 19
          .Font.ColorIndex = 32
          .RowHeight = 18
          .Font.Size = 12
        End With
    'La mise en fomre de la colonne B
      With Cells(Lig, "B").Resize(, 1)
          .HorizontalAlignment = xlCenter
          .Interior.ColorIndex = 19
          .Font.ColorIndex = 3
          .Font.Bold = True
      End With
      Next Lig
    End With
    'Tri par ordre alphabétique
       Sheets("Liste_Fournisseurs").Select
       Range("C13:D" & Derlig).Sort Key1:=Range("D13"), Order1:=xlAscending, Header:=xlYes
    'Le message de d'ajout d'un autre fournisseur ou fermeture du menu "Nouveau Fournisseur"
       If MsgBox("Le fournisseur (" & Fournisseurs_TextBox & ") a été ajouté avec succès voulez-vous ajouter un autre fournisseur ?", vbYesNo + vbInformation, "Confirmation") = vbYes Then
       'UserForm_Initialize
       AjoutFournisseurs.Show
       Else
       UserForm_Initialize
       Unload AjoutFournisseurs
       End If
    'Ne pas raffraichir pendant le code
      Application.ScreenUpdating = True
    End Sub
    merci par avance

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Enlève au moins cette ligne-là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Liste_Fournisseurs").Select

    et toute autre ligne qui te fais sélectionner quelque chose dans la feuille. La plupart des opérations sur une feuille peuvent se faire sans sélectionner de feuille.

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    donnée = sheets("Liste_Fournisseurs").range("a1").value
    Est équivalent à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets("Liste_Fournisseurs").Select
    donnée = range("a1").value

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Par défaut
    Merci clement pour la réponse

    Voila c'est ça le problème dès que j’enlève select du code le fichier déconne regarde en joint le fichier pour comprendre bien

    merci
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [XL-2007] Aide à completer deux détails dans ma macro
    Par INFINITY100 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/05/2015, 00h23
  2. Plusieurs sections détail dans un état?
    Par cain.patres dans le forum Access
    Réponses: 2
    Dernier message: 22/05/2006, 09h30
  3. Réponses: 4
    Dernier message: 27/03/2006, 16h06
  4. Demande d'aide au sujet de VB .Net
    Par robert.michel9 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/10/2005, 13h15
  5. [JSP] Aide au sujet d'un projet
    Par besco dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 09/09/2004, 15h33

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