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 :

Fonction IF avec double variable [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Novembre 2008
    Messages : 25
    Par défaut Fonction IF avec double variable
    Bien le bonjour,

    Etant très mauvais en VBA, je me permet de poster sur ce forum car j'ai un petit peu de mal sur quelque chose.

    En fait je désire vérifier la valeur d'une cellule, sauf que cette cellule changera constament donc je me suis servis d'une double boucle (je pense que c'est pas la méthode la plus propre mais je fais avec mes compétances)
    sauf que derrière je n'arrive pa écrire ma fonction "IF"

    Voic une partis de 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
    Sub CreateAfile()
    For i = 4 To 37
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set a = fs.CreateTextFile("d:\test\Ajt Import (" & Range("B" & i).Value & ").txt", True)
        a.WriteLine ("#Modele  : Ajt Import (Member X),")
        For j = C To Z
            If Cells(i, c).Value = "oui" Then
                a.WriteLine ("ip vpn-instance" & Range("B" & i).Value & ")
            End If
        Next j
        a.WriteLine ("#")
        a.Close
    Next i
    End Sub
    Le problème se situe ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            If Cells(i, c).Value = "oui" Then
                a.WriteLine ("ip vpn-instance" & Range("B" & i).Value & ")
            End If
    Tout fonctionne jusqu'a la partis du "IF" et sans doute la ligne juste en dessus mais là je pourrais me débrouiller en me servant du reste.

    D'avant merci pour vos réponses.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2012
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 94
    Par défaut
    tu utilises j pour ta deuxième boucle mais tu écris Cells(i,c). Erreur d'innatention ou de recopie ?

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Novembre 2008
    Messages : 25
    Par défaut
    Citation Envoyé par Soraphiroth Voir le message
    tu utilises j pour ta deuxième boucle mais tu écris Cells(i,c). Erreur d'innatention ou de recopie ?
    Il s'agissait d'une erreur de recopie.

    Un collègue m'apporter de l'aide et nous avons reussi à faire quelque chose de beaucoup plus propre et complémtement fonctionnement et plus facile d'utilisation pour les utilisateurs landa.

    J'ai déclarer dans excel un nom qui représente la "zone_travail" ce qui permet aux utilisateurs, si il y a des rajouts à faire, de ne changer que cette zone.

    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
    Sub CreateAfile()
    'Déclaration de la zone de travail
    Dim tableau As range
    Set tableau = Worksheets("XXXX").range("zone_travail")
    'boucle pour chaque lignes
        For Each ligne In tableau.Rows
            Set fs = CreateObject("Scripting.FileSystemObject")
    'Création du fichier "Ajt Import($VRF_name).txt"
            Set a = fs.CreateTextFile("d:\test\Ajt Import (" & Cells(ligne.Row, "B").Value & ").txt", True)
    'ecriture dans le fichier
            a.WriteLine ("ip vpn-instance " & Cells(ligne.Row, "B").Value & "")
            a.WriteLine ("#")
    'Boucle pour chaque colonne
            For Each colonne In tableau.Columns
    'Test de la présence d'un import
                If Cells(ligne.Row, colonne.Column) = "OUI" Then
    'ecriture dans le fichier
                    a.WriteLine ("vpn-target 65534:" & Cells(3, colonne.Column).Value & " import-extcommunity")
                End If
            Next
    'ecriture dans le fichier
            a.WriteLine ("#")
            a.WriteLine ("return")
            a.WriteLine ("#")
            a.Close
        Next
    End Sub

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

Discussions similaires

  1. Fonction somme avec cellules variables
    Par juxci dans le forum Excel
    Réponses: 5
    Dernier message: 11/02/2015, 16h16
  2. [PHP 5.0] Fonction javascript avec du variable PHP
    Par PrinceMaster77 dans le forum Langage
    Réponses: 3
    Dernier message: 09/02/2010, 15h25
  3. Fonction die() avec une variable
    Par micksing dans le forum Langage
    Réponses: 5
    Dernier message: 29/07/2007, 00h19
  4. Réponses: 4
    Dernier message: 06/05/2005, 13h37
  5. petit souci avec des variables avec des fonctions psql
    Par dust62 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/04/2005, 13h45

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