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 :

[VBA-E] Saut de cellule non demandé


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Par défaut [VBA-E] Saut de cellule non demandé
    Re!
    Est ce que quelqu'un pourrait essayer mon code et me dire pourquoi la première fonction ne saute pas de cellule alors que toutes les autres oui. Pourtant il me semble bien que le code de chacune est identique et que la structure aussi!

    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
    Sub Ludi()
     
    Call site
    Call nom
    Call typepc
    Call idwin
    Call idoff
     
    End Sub
     
     
    Sub site()
        Sheets("Feuil1").Columns("b:b").Select
         i = 1
        While Cells(i, 1) <> ""
            i = i + 1
        Wend
        Cells(i, 1) = InputBox("Saisissez le site sur lequel vous travaillez")
    End Sub
     
    Sub nom()
        Sheets("Feuil1").Columns("c:c").Select
         i = 1
        While Cells(i, 1) <> ""
            i = i + 1
        Wend
        Cells(i, 2) = InputBox("Saisissez votre nom")
    End Sub
     
    Sub typepc()
        Sheets("Feuil1").Columns("d:d").Select
         i = 1
        While Cells(i, 1) <> ""
            i = i + 1
        Wend
        Cells(i, 3) = InputBox("Saisissez le type d'ordinateur sur lequel vous travaillez (PC ou portable)")
    End Sub
     
    Sub idwin()
        Sheets("Feuil1").Columns("e:e").Select
        i = 1
        While Cells(i, 1) <> ""
            i = i + 1
        Wend
        Cells(i, 4) = InputBox("Saisissez l'Id Windows")
    End Sub
     
    Sub idoff()
        Sheets("Feuil1").Columns("f:f").Select
         i = 1
        While Cells(i, 1) <> ""
            i = i + 1
        Wend
        Cells(i, 5) = InputBox("Saisissez l'Id office")
    End Sub

  2. #2
    Membre éprouvé
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Par défaut
    Bonjour
    alors en fait c'est parce que tu testes (ta boucle while) uniquement sur la première colonne alors que tu écrit ensuite dans des colonnes différentes.
    Que veux tu en fait?
    si le test doit effectivement se faire uniquement sur la 1ere colonne et que tu ne veux pas de saut de ligne il faut plutot mettre:
    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
    Sub Ludi()
     
    Call site
    Call nom
    Call typepc
    Call idwin
    Call idoff
     
    End Sub
     
     
    Sub site()
        Sheets("Feuil1").Columns("b:b").Select
         i = 1
        While Cells(i, 1) <> ""
            i = i + 1
        Wend
        Cells(i, 1) = InputBox("Saisissez le site sur lequel vous travaillez")
    End Sub
     
    Sub nom()
        Sheets("Feuil1").Columns("c:c").Select
         i = 1
        While Cells(i, 1) <> ""
            i = i + 1
        Wend
        Cells(i - 1, 2) = InputBox("Saisissez votre nom")
    End Sub
     
    Sub typepc()
        Sheets("Feuil1").Columns("d:d").Select
         i = 1
        While Cells(i, 1) <> ""
            i = i + 1
        Wend
        Cells(i - 1, 3) = InputBox("Saisissez le type d'ordinateur sur lequel vous travaillez (PC ou portable)")
    End Sub
     
    Sub idwin()
        Sheets("Feuil1").Columns("e:e").Select
        i = 1
        While Cells(i, 1) <> ""
            i = i + 1
        Wend
        Cells(i - 1, 4) = InputBox("Saisissez l'Id Windows")
    End Sub
     
    Sub idoff()
        Sheets("Feuil1").Columns("f:f").Select
         i = 1
        While Cells(i, 1) <> ""
            i = i + 1
        Wend
        Cells(i - 1, 5) = InputBox("Saisissez l'Id office")
    End Sub
    parcequ'une fois que ta rempli ta cellule en colonne 1 ensuite le test ira toujours pour chacune des fonctions suivantes sur la ligne d'après
    Sinon pourquoi sélectionnes-tu les colonnes au début? je ne vois pas l'intéret d'autant qu'il y a un décalage (sélection de la colonne B pour l'écriture dans la colonne A, C pour B,...)
    dis moi si c'est ce que tu voulais
    Rémi

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    While Cells(i, 1) <> ""
        i = i + 1
    Wend
    va chercher la prochaine cellule vide de la colonne A.
    Ensuite la procedure "site" va coller une valeur a la suite, dans cette meme colonne A.
    Citation Envoyé par luudii
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i, 1) = InputBox("Saisissez le site sur lequel vous travaillez")
    Les autres procedures lancées après seront logiquement décalées d'une ligne par rapport à celle-ci.

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Par défaut
    Oui c'est ce que je voulais faire merci! j'avais pas compris le principe!

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Par défaut
    Citation Envoyé par gruget
    Bonjour
    alors en fait c'est parce que tu testes (ta boucle while) uniquement sur la première colonne alors que tu écrit ensuite dans des colonnes différentes.
    Que veux tu en fait?
    si le test doit effectivement se faire uniquement sur la 1ere colonne et que tu ne veux pas de saut de ligne il faut plutot mettre:
    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
    Sub Ludi()
     
    Call site
    Call nom
    Call typepc
    Call idwin
    Call idoff
     
    End Sub
     
     
    Sub site()
        Sheets("Feuil1").Columns("b:b").Select
         i = 1
        While Cells(i, 1) <> ""
            i = i + 1
        Wend
        Cells(i, 1) = InputBox("Saisissez le site sur lequel vous travaillez")
    End Sub
     
    Sub nom()
        Sheets("Feuil1").Columns("c:c").Select
         i = 1
        While Cells(i, 1) <> ""
            i = i + 1
        Wend
        Cells(i - 1, 2) = InputBox("Saisissez votre nom")
    End Sub
     
    Sub typepc()
        Sheets("Feuil1").Columns("d:d").Select
         i = 1
        While Cells(i, 1) <> ""
            i = i + 1
        Wend
        Cells(i - 1, 3) = InputBox("Saisissez le type d'ordinateur sur lequel vous travaillez (PC ou portable)")
    End Sub
     
    Sub idwin()
        Sheets("Feuil1").Columns("e:e").Select
        i = 1
        While Cells(i, 1) <> ""
            i = i + 1
        Wend
        Cells(i - 1, 4) = InputBox("Saisissez l'Id Windows")
    End Sub
     
    Sub idoff()
        Sheets("Feuil1").Columns("f:f").Select
         i = 1
        While Cells(i, 1) <> ""
            i = i + 1
        Wend
        Cells(i - 1, 5) = InputBox("Saisissez l'Id office")
    End Sub
    parcequ'une fois que ta rempli ta cellule en colonne 1 ensuite le test ira toujours pour chacune des fonctions suivantes sur la ligne d'après
    Sinon pourquoi sélectionnes-tu les colonnes au début? je ne vois pas l'intéret d'autant qu'il y a un décalage (sélection de la colonne B pour l'écriture dans la colonne A, C pour B,...)
    dis moi si c'est ce que tu voulais
    Rémi
    Ahh merci j'ai compris! youpi!lol

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

Discussions similaires

  1. [vba Excel] Obtenir dernier cellule non vide d'une ligne
    Par cow_boy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/05/2007, 10h07
  2. [VBA-E] Appliquer une formule si cellule non vide.
    Par zeralium dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/03/2007, 19h58
  3. [VBA-E] alimenter combo depuis une zone de cellules (non determinée)
    Par LostIN dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/12/2006, 11h24
  4. [EXCEL][VBA] Compter les cellules non-vides
    Par Squelet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/02/2006, 15h40
  5. [VBA-E]selectionner la premiere cellule non vide d'une ligne
    Par muse47 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/10/2005, 08h11

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