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 :

Formule recherche V en VBA + if et une boucle. (nouveau sur le forum) [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Responsable de Maintenance
    Inscrit en
    Juin 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de Maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 31
    Par défaut Formule recherche V en VBA + if et une boucle. (nouveau sur le forum)
    Bonjour a tous; (nouveau sur ce forum)

    Je reste bloqué avec le recherche V + if et une boucle.

    En gros voici la condition que je cherche a faire:
    Si (i,F)="C" et RECHERCHEV((i,B);Feuil2!B3:E100;4)>(i,K) et RECHERCHEV((i,B);Feuil2!B3:E100;4)<(i,K) alors (i,A)= "a" & (i,L)- RECHERCHEV((i,B);Feuil2!B3:E100;4) & " heures"

    F , B , K , L c'est la colonne en feuille1 (il manque cells (i,F) etc.....) mais c'etait pour faire une synthese

    Tout cela en effectuant une boucle avec i

    Toutes les informations sont dans le module7 et sur la feuille1 de ma piece jointes.

    Merci par avance de vos reponses.



  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Une solution à tester
    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
    Option Explicit
     Sub test()
     Dim Ws2 As Worksheet
     Dim i As Integer, ModeCalcul As XlCalculation
     Dim Nbligne As Long
        Set Ws2 = Worksheets("Feuil2")
        With Worksheets("Feuil1")
            .Range("A7:A100").Clear
            ModeCalcul = Application.Calculation
            'Teste de cellule non vide sur la colonne B
            .Range("A6").FormulaR1C1 = "=100-COUNTBLANK(R[100]C[1]:R[1]C[1])"
            Nbligne = .Range("A6")
            'La variable x va successivement prendre les valeurs 3 à Derncellule vide
            For i = 7 To Nbligne + 6
                'Ecrit dans la plage de cellules A....
                If .Cells(i, 6) = "D" And Format(Date, "# ##0") >= Format(.Cells(i, 11), "# ##0") And Format(Date, "# ##0") <= Format(.Cells(i, 12), "# ##0") Then .Cells(i, 1) = "a " & Format(.Cells(i, 12), "# ##0") - Format(Date, "# ##0") & " jours"
                If .Cells(i, 6) = "D" And Format(Date, "# ##0") >= Format(.Cells(i, 11), "# ##0") And Format(Date, "# ##0") >= Format(.Cells(i, 12), "# ##0") Then .Cells(i, 1) = "i " & Format(Date, "# ##0") - Format(.Cells(i, 12), "# ##0") & " jours"
                If .Cells(i, 6) = "D" And Format(Date, "# ##0") < Format(.Cells(i, 11), "# ##0") Then .Cells(i, 1) = ""
                If .Cells(i, 6) = "D" And .Cells(i, 11) = "0" Then .Cells(i, 1) = ""
                'Formule
                If .Cells(i, 6) = "C" Then
                    If Application.Vlookup(.Cells(i, 2), Ws2.Range("B3:E100"), 4, False) > .Cells(i, 11) And Application.Vlookup(.Cells(i, 2), Ws2.Range("B3:E100"), 4, False) < .Cells(i, 12) Then
                        .Cells(i, 1) = "a " & CStr(.Cells(i, 12) - Application.Vlookup(.Cells(i, 2), Ws2.Range("B3:E100"), 4, False)) & " heures"
                    End If
                End If
            Next i
        End With
    End Sub
    Cordialement.

  3. #3
    Membre averti
    Homme Profil pro
    Responsable de Maintenance
    Inscrit en
    Juin 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de Maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 31
    Par défaut
    Bonjour;

    J'ai fait un premier essai cela reste très concluant.

    Je te remercie fortement.

    Cdt

  4. #4
    Membre averti
    Homme Profil pro
    Responsable de Maintenance
    Inscrit en
    Juin 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de Maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 31
    Par défaut
    Merci gFZT82

    J 'ai essayer; cela colle parfaitement a mon probleme.

    Merci bcp

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

Discussions similaires

  1. [XL-2007] Rechercher etSupprimer des lignes (problèmes dans une boucle)
    Par gabi75 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/05/2010, 10h50
  2. Réponses: 3
    Dernier message: 21/02/2008, 22h41
  3. [VBA-E] faire une boucle entre 2 feuilles
    Par MustOne dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/05/2007, 20h59
  4. [Vba-Excel] Exécuter une requete SQL sur une feuille de donnée
    Par Spacy_green dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/11/2006, 09h27

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