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 :

ne pas activer la feuiller en exécutant une commande


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 36
    Points : 11
    Points
    11
    Par défaut ne pas activer la feuiller en exécutant une commande
    Bonsoir !
    j'aimerai par curiosité savoir si il est possible, en cliquant sur un bouton en activant mon userform et en exécutant une commande. de ne pas ouvrir la feuille lié dans le code.
    avez vous une idée, bonne soirée

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Bonsoir, de qu'elle feuille parle tu ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 36
    Points : 11
    Points
    11
    Par défaut
    je vous donne un exemple:

    dans ma 1ère feuille, j'ai un bouton qui active une userform.

    dans cette userform, il ya une zone de texte et un bouton.

    les données entrer dans la zone de texte sont enregistrées dans la 2ème feuille en cliquant sur le bouton de l'userform.



    le problème est que quand je met les données dans la zone de texte la 2ème feuille s'active automatiquement. il y'a pas un moyen de ne pas ouvrir cette fille.



    voici 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
    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
    64
    65
    66
    67
    68
    69
    Private Sub Ajout1_Click()
    If Not (isMailPerso(UserForm1.TextBox1.Text)) Then
           Call MsgBox("Ceci est un destinataire Professionnel" & Chr(10) & _
                       "Veuillez saisir l'adresse mail dans la rubrique appropriée", vbExclamation + vbOKOnly)
           Exit Sub
        End If
    'teste si un texte a été entré, si non, le programme averti l'utilisateur et s'arrête
    If UserForm1.TextBox1.Text = "" Then
      MsgBox "Vous n'avez rien saisi;" & Chr(10) & "Veillez entrer un mail! "
      Exit Sub
                       End If
    For i = 1 To 10000
    If Cells(i, 1) = "" Then Exit For
    Next
    'insertion de la valeur de la zone de texte (textbox1 représentant le nom de la zone de texte)
    Cells(i, 1) = TextBox1.Text
    MsgBox "Enregistrement de l'adresse Mail créé avec succès"
    End Sub
     
    Private Sub Ajout2_Click()
    If (isMailPerso(UserForm1.TextBox2.Text)) Then
           Call MsgBox("Ceci est un destinataire NON professionnel" & Chr(10) & _
                       "Veuillez saisir l'adresse mail dans la rubrique appropriée", vbExclamation + vbOKOnly)
           Exit Sub
        End If
    'teste si un texte a été entré, si non, le programme averti l'utilisateur et s'arrête
                   If UserForm1.TextBox2.Text = "" Then
                            MsgBox "Vous n'avez rien saisi;" & Chr(10) & "Veillez entrer un mail! "
                        Exit Sub
                       End If
    For i = 1 To 10000
    If Cells(i, 1) = "" Then Exit For
    Next
     
    'insertion de la valeur de la zone de texte (textbox1 représentant le nom de la zone de texte)
    Cells(i, 1) = TextBox2.Text
    MsgBox "Enregistrement de l'adresse Mail créé avec succès"
    End Sub
     
     
    Private Sub CommandButton1_Click()
    Unload Me
    End Sub
    Private Sub TextBox1_Change()
    Sheets("Mail Personnel").Select
    Range("A2").Select
    ActiveCell.FormulaR1C1 = TextBox1
    End Sub
     
    Private Sub TextBox2_Change()
    Sheets("Mail Professionel").Select
    Range("A2").Select
    ActiveCell.FormulaR1C1 = TextBox2
    End Sub
     
    Function isMailPerso(destinataire As String) As Boolean
        Dim ISPPerso() As String
        ISPPerso = Split("yahoo;gmail;hotmail;live;voila;laposte;aol;bouygtel;crocomail;caramail", ";")
     
        isMailPerso = False
        Dim i As Integer
        For i = 0 To UBound(ISPPerso)
            If InStr(1, LCase(destinataire), "@" & ISPPerso(i)) > 0 Then
                isMailPerso = True
                Exit For
            End If
        Next i
     
    End Function

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Il sufit de supprimer tous les select, activate... et de preciser devant les objets cells ou range la feuille concernee
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    feuil1.cells(1,2)=feuil2.cells(3,4)

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 36
    Points : 11
    Points
    11
    Par défaut
    j'ai fait quelques modification à ce 1er code au 2ème code. mais ça me retourne des erreurs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub TextBox1_Change()
    Sheets("Mail Personnel").Select
    Range("A2").Select
    ActiveCell.FormulaR1C1 = TextBox1
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub TextBox1_Change()
    Sheets ("Mail Personnel")
    Mail Personnel.cells(1,2)
    ActiveCell.FormulaR1C1 = TextBox1
    End Sub

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par bbil Voir le message
    Et ce message d'erreur , qu'attends tu pour le lire et le copier ici ?




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TextBox1_Change()
    Sheets ("Mail Personnel").cells(1,2).FormulaR1C1 = TextBox1
    End Su
    Il faut aussi enlever tous les ActiveCells, activeSheet, ActiveWorkbook inutiles

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 36
    Points : 11
    Points
    11
    Par défaut
    merci ! et bonne soirée

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/02/2006, 12h43
  2. [Run]Exécuter une commande paramétrable
    Par nice dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 31/01/2006, 14h27
  3. exécuter une commande de logiciel
    Par MrsFrizz dans le forum C
    Réponses: 4
    Dernier message: 17/01/2006, 10h48
  4. exécuter une commande système à partir de sqlplus?
    Par c_moi_c_moi dans le forum Oracle
    Réponses: 24
    Dernier message: 08/11/2005, 15h11
  5. Exécuter une commande linux.
    Par casafa dans le forum Linux
    Réponses: 4
    Dernier message: 20/07/2005, 23h13

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