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 :

rechercher une donnée dans un tableau [XL-2000]


Sujet :

Macros et VBA Excel

  1. #21
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    J'ai trouvé, comme on travail avec un "with worksheets.." il faut aussi faire référence avec le point devant les cells ce qui donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set zone_recherche = .Range(.Cells(3, n°col), .Cells(9, n°col))

  2. #22
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut heuh!!!
    bonjour


    si j'ai bien compris

    dans ton tableau tu cherche l'agent qui serais present le X/XX/XXXX(exemple (10/6/2010)
    tu n'a cas utiliser la reche avec "find comme te l a indiquer zyhack

    avec une condition supplementaire
    if c.address.column=x'le chifre colonne corespondant au matin ou l'apres midi
    tu peut meme repeter l'operation pour les deux demie journnées
    ainsi si c'est la colonne pour le matin tu peut meme instruire une autre variable avec ca


    au plaisir

  3. #23
    Membre éprouvé
    Avatar de yoyo3d
    Homme Profil pro
    Administratif
    Inscrit en
    Avril 2002
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administratif
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2002
    Messages : 413
    Points : 1 254
    Points
    1 254
    Par défaut
    pfou....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    comme on travail avec un "with worksheets.." il faut aussi faire référence avec le point devant les cells
    ce truc la , il aurais pu passer de l'eau sous les ponts avant que je pense à verifier ça...

    Au fait, le with worksheets, justement, il n'est pas obligatoire...???
    c'est juste pour dire que toutes les opérations qui suivent concernent le même "objet" worksheets ..c'est ça?

    Merci de l'info Partick, mais pour l'instant je reste sur la même approche, car je sais que je suis presque au bout...
    Si àa marche, j'essaierais mais je n'ai pas compris, le x c'est le numéro de la colonne, mais il faudra bien trier une colonne sur deux pour le jour ou la nuit de toute façon...non? comment?

    bon je verais ça demain matin au boulot,
    encore merci à vous deux , c'est vraiment super...

  4. #24
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    Au fait, le with worksheets, justement, il n'est pas obligatoire...???
    c'est juste pour dire que toutes les opérations qui suivent concernent le même "objet" worksheets ..c'est ça?
    C'est tout à fait ça, et il est préférable de toujours préciser sur quoi on travail, ça évite les erreurs.

    bonne soirée

  5. #25
    Membre éprouvé
    Avatar de yoyo3d
    Homme Profil pro
    Administratif
    Inscrit en
    Avril 2002
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administratif
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2002
    Messages : 413
    Points : 1 254
    Points
    1 254
    Par défaut
    Gé-nial...ça marche du tonnere de dieu....
    Je vais maintenant addapter la valeur de l'offset en fonction de "n°col" pour que la valeur retournée provienne toujours de la colonne A...

    et je vous posterais le code....

    Super cool....merci encore

  6. #26
    Membre éprouvé
    Avatar de yoyo3d
    Homme Profil pro
    Administratif
    Inscrit en
    Avril 2002
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administratif
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2002
    Messages : 413
    Points : 1 254
    Points
    1 254
    Par défaut
    Comme promis, voici le code terminé et commenté pour aider ceux qui pouraient en avoir besoin, j'espere ne pas avoir fait de boulettes ...

    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
    Sub chef_de_salle()
     
    Dim n°col As Integer ' N° de la colonne établie en fonction de la date et de la periode
    Dim zone_recherche As Range 'Plage de cellule (incluant "n°col" )ou je vais chercher "J" ou "N"
    Dim Cellule_cible As Range ' Cellule contenant "J" ou "N"
    Dim x As Integer 'pour cibler la colonne 1
     
    'récupération de la donnée saisie en "G6"
    periode = Worksheets("Feuille_garde").Range("G6").Value
     
    'Si periode contient Jour ou Jour Nuit....
    If periode = "Jour" Or periode = "Jour Nuit" Then
        n°col = Day([Date_planning]) * 2
        MsgBox "le n° est : " & n°col
        x = n°col - 1
    '....alors on recherche J ou JN dans la plage de cellule "Zone_recherche....
    With Worksheets("Planning")
     
      'initialisation de "Zone_recherhce" et "Cellule_cible"
      Set zone_recherche = .Range(.Cells(3, n°col), .Cells(9, n°col))
      Set Cellule_cible = zone_recherche.Find("J", LookIn:=xlValues, lookat:=xlWhole)
     
      If Not Cellule_cible Is Nothing Then
        '... et on donne la valeur contenenue en colonne A sur la même ligne que J ou JN...
        Worksheets("Feuille_garde").Range("c8") = .Range(Cellule_cible.Address).Offset(0, columnoffset:=-x).Value
     
      Else
        '....msgbox si on ne trouve pas j ou JN dans cette plage de cellule
        MsgBox "la recherche est infructueuse"
      End If
    End With
     
    '...même chose si periode = Nuit
    ElseIf periode = "Nuit" Then
        n°col = Day([Date_planning]) * 2 + 1
        MsgBox "le n° est : " & n°col
        x = n°col - 1
     
    With Worksheets("Planning")
     
      Set zone_recherche = .Range(.Cells(3, n°col), .Cells(9, n°col))
      '...on recherche "N" dans la plage de cellule  "Zone_recherche"...
      Set Cellule_cible = zone_recherche.Find("N", LookIn:=xlValues, lookat:=xlWhole)
     
      If Not Cellule_cible Is Nothing Then
        '.... et on donne la valeur contenenue en colonne A sur la même ligne que "N"
        Worksheets("Feuille_garde").Range("c8") = .Range(Cellule_cible.Address).Offset(0, columnoffset:=-x).Value
     
      Else
     
        MsgBox "la recherche est infructueuse"
      End If
    End With
     
    Else
        'si la periode est differente de "Jour", "Jour Nuit" ou "Nuit"
        MsgBox "Le type de periode n'est pas valide "
    End If
     
    'pour ré-initialiser les variables...
    Set zone_recherche = Nothing: Set Cellule_cible = Nothing
     
     
    End Sub
    et un grand merci à zyhack pour avoir été patient avec moi....merci à tous.

  7. #27
    Membre éprouvé
    Avatar de yoyo3d
    Homme Profil pro
    Administratif
    Inscrit en
    Avril 2002
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administratif
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2002
    Messages : 413
    Points : 1 254
    Points
    1 254
    Par défaut
    Salut,
    je pensais avoir fini avec ce code, mais des modifications viennent d'anéantir mes plans...

    Le code précédent fonctionne tres bien mais voila je cherchais "1" agent dans une liste et j'affichais son nom dans une cellule.....

    Aujourd'hui je dois prendre en compte le fait qu'il puisse y avoir plusieur réponses et je dois afficher l'ensemble des "noms" trouvés dans ma colonne "A" dans une zone reservée à cet effet.

    En fait , par jour je peux avoir jusqu'à 5 agents présent, et je doit afficher leur nom dans 5 cellules -> mafeuille.monrange(A1:A5) par exemple

    Alors j'ai trouvé plusieurs réponses,mais je n'arrive pas à les exploitér..


    La premiere c'est de dire:

    For each cells in range(A1:A5)
    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
     
    Dim n°col As Integer 
    Dim zone_recherche As Range Dim Cellule_cible As Range ' Cellule contenant "J" ou "N"
    Dim x As Integer  
     
    periode = Worksheets("Feuille_garde").Range("G6").Value
     
    For each cells in range("Z1:Z5") 'c'est juste un exemple de range ici
     
       If periode = "Jour" Or periode = "Jour Nuit" Then
           n°col = Day([Date_planning]) * 2
           MsgBox "le n° est : " & n°col
           x = n°col - 1
     
       With Worksheets("Planning")
     
              Set zone_recherche = .Range(.Cells(3, n°col), .Cells(9, n°col))
              Set Cellule_cible = zone_recherche.Find("J", LookIn:=xlValues,
             _lookat:=xlWhole)
     
         If Not Cellule_cible Is Nothing Then
            Worksheets("Feuille_garde").Range("c8") = .Range
            _(Cellule_cible.Address).Offset(0, columnoffset:=-x).Value
     
         Else
     
           MsgBox "la recherche est infructueuse"
         End If
       End With
     
       ElseIf periode = "Nuit" Then
           n°col = Day([Date_planning]) * 2 + 1
           MsgBox "le n° est : " & n°col
           x = n°col - 1
     
       With Worksheets("Planning")
     
         Set zone_recherche = .Range(.Cells(3, n°col), .Cells(9, n°col))
         Set Cellule_cible = zone_recherche.Find("N", LookIn:=xlValues, 
        _lookat:=xlWhole)
     
         If Not Cellule_cible Is Nothing Then
            Worksheets("Feuille_garde").Range("c8") = .Range
            _(Cellule_cible.Address).Offset(0, columnoffset:=-x).Value
     
         Else
     
           MsgBox "la recherche est infructueuse"
         End If
       End With
     
       Else
           MsgBox "Le type de periode n'est pas valide "
    End If
     
    next
    voila un exemple
    il faut rajouter à cela le "Findnext(cellule_cible) que je ne sais pas ou placer ni comment l'ecrire pour lister tous les éléments ciblés par "J"

    j'avais aussi penser au
    Do....faire ma recherche et afficher le résultat dans une des cellules ZA:Z5
    while tout pendant que j'ai un J dans ma colonne...mais la aussi...je me mélange les pinceaux

    merci pour l'info.

  8. #28
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    essaye d'être précis dans tes questions ça évitera de nous ayons à deviner et te fournir des réponses aproximative.

    Aujourd'hui je dois prendre en compte le fait qu'il puisse y avoir plusieur réponses et je dois afficher l'ensemble des "noms" trouvés dans ma colonne "A" dans une zone reservée à cet effet.
    quelle feuille et partir de quelle cellule?

    il faut rajouter à cela le "Findnext(cellule_cible) que je ne sais pas ou placer ni comment l'ecrire pour lister tous les éléments ciblés par "J"
    le Findnext est une bonne idée mais je suppose qu'il faudra aussi le prévoir pour la recherche sur "N"

    j'avais aussi penser au
    Do....faire ma recherche et afficher le résultat dans une des cellules ZA:Z5
    ZA:Z5 qu'est ce que ça vient faire là ça ?

    si c'est un exemple c'est pas drôle car c'est un truc à perdre le nord.

    récapitulation de ton processus

    Au départ tu définit une colonne par rapport à une date.

    dans cette colonne entre les lignes 3 et 9 tu recherche J ou N pour recopier la valeur de la colonne A de la même ligne trouvé.

    donc la je suppose que tu veux toujours chercher tous les J ou N qu'il pourrait y avoir entre les lignes 3 et 9 et recopier les valeurs de la colonne A des mêmes lignes trouvés. is that ?

  9. #29
    Membre éprouvé
    Avatar de yoyo3d
    Homme Profil pro
    Administratif
    Inscrit en
    Avril 2002
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administratif
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2002
    Messages : 413
    Points : 1 254
    Points
    1 254
    Par défaut
    yes it is
    tout d'abord merci de rejeter un coup d'oeil, et désolé pour les imprécisions, (pour ne pas bousillier mon code j'ai repris une nouvelle page pour refaire un exemple à part, et forcement...je me mélange....c'est horrible!!)

    tu a tout compris,
    récapitulation de ton processus

    Au départ tu définit une colonne par rapport à une date.

    dans cette colonne entre les lignes 3 et 9 tu recherche J ou N pour recopier la valeur de la colonne A de la même ligne trouvé.

    donc la je suppose que tu veux toujours chercher tous les J ou N qu'il pourrait y avoir entre les lignes 3 et 9 et recopier les valeurs de la colonne A des mêmes lignes trouvés. is that ?

    pour ZA:Z5, bon la effectivement j'ai craqué, c'est n'importe quoi, je sais même pas d'ou ça vient.... ça devait probablement etre la suite de l'exemple pour designer les cellules ou je voulais inscrire le nom des agents trouvé dans la colonne A...



    bon hier soir j'ai réussi à pondre ça
    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
    Dim zone_result As Range
    Dim cel_result As Range
     
     
     
    Set zone_result = Worksheets("Feuille_garde").Range(Cells(13, 3), Cells(17, 3))
     
     
    For Each cel_result In zone_result
        With Worksheets("Feuille_garde")
     
            cel_result.Value = Range("I13").Value
        End With
     
     
    Next
    c'est un exemple qui me sert à remplir les 5 cellules d'un range, alors je sais , c'est ridicule, mais je pensais me servir de cette approche
    merci

  10. #30
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    Bonjour

    j'ai notifié les lignes modifiées ou ajoutées par '###

    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    Sub chef_de_salle()
     
    Dim n°col As Integer ' N° de la colonne établie en fonction de la date et de la periode
    Dim zone_recherche As Range 'Plage de cellule (incluant "n°col" )ou je vais chercher "J" ou "N"
    Dim Cellule_cible As Range ' Cellule contenant "J" ou "N"
    Dim x As Integer 'pour cibler la colonne 1
    Dim firstAddress As String, ligne As Long '### ajout des variables
     
    'récupération de la donnée saisie en "G6"
    periode = Worksheets("Feuille_garde").Range("G6").Value
     
    'Si periode contient Jour ou Jour Nuit....
    If periode = "Jour" Or periode = "Jour Nuit" Then
        n°col = Day([Date_planning]) * 2
        MsgBox "le n° est : " & n°col
        x = n°col - 1
    '....alors on recherche J ou JN dans la plage de cellule "Zone_recherche....
    With Worksheets("Planning")
     
      'initialisation de "Zone_recherhce" et "Cellule_cible"
      Set zone_recherche = .Range(.Cells(3, n°col), .Cells(9, n°col))
      Set Cellule_cible = zone_recherche.Find("J", LookIn:=xlValues, lookat:=xlWhole)
     
      If Not Cellule_cible Is Nothing Then
        firstAddress = Cellule_cible.Address '### ajout : 1er adresse trouvé
        ligne = 8 ' ### écriture à partir de la ligne 8
     
        Do '### Ajout : on lance la boucle
          '... et on donne la valeur contenenue en colonne A sur la même ligne que J ou JN...
          '### Modif : modification de l'écriture de range("C8") en cells(ligne, 3)
          Worksheets("Feuille_garde").Cells(ligne, 3) = .Range(Cellule_cible.Address).Offset(0, columnoffset:=-x).Value
          '### Ajout : lance la recherche du suivant
          Set Cellule_cible = zone_recherche.FindNext(Cellule_cible)
          '### incrément de la ligne
          ligne = ligne + 1
        '### Ajout : boucle tant qu'il y a un résultat et qu'on est pas revenu au premier
        Loop While Not Cellule_cible Is Nothing And Cellule_cible.Address <> firstAddress
      Else
        '....msgbox si on ne trouve pas j ou JN dans cette plage de cellule
        MsgBox "la recherche est infructueuse"
      End If
    End With
     
    '...même chose si periode = Nuit
    ElseIf periode = "Nuit" Then
        n°col = Day([Date_planning]) * 2 + 1
        MsgBox "le n° est : " & n°col
        x = n°col - 1
     
    With Worksheets("Planning")
     
      Set zone_recherche = .Range(.Cells(3, n°col), .Cells(9, n°col))
      '...on recherche "N" dans la plage de cellule  "Zone_recherche"...
      Set Cellule_cible = zone_recherche.Find("N", LookIn:=xlValues, lookat:=xlWhole)
     
      If Not Cellule_cible Is Nothing Then
        firstAddress = Cellule_cible.Address '### ajout : 1er adresse trouvé
        ligne = 8 ' ### écriture à partir de la ligne 8
     
        Do '### Ajout : on lance la boucle
        '.... et on donne la valeur contenenue en colonne A sur la même ligne que "N"
          '### Modif : modification de l'écriture de range("C8") en cells(ligne, 3)
        Worksheets("Feuille_garde").Range("c8") = .Range(Cellule_cible.Address).Offset(0, columnoffset:=-x).Value
          '### Ajout : lance la recherche du suivant
          Set Cellule_cible = zone_recherche.FindNext(Cellule_cible)
          '### incrément de la ligne
          ligne = ligne + 1
        '### Ajout : boucle tant qu'il y a un résultat et qu'on est pas revenu au premier
        Loop While Not Cellule_cible Is Nothing And Cellule_cible.Address <> firstAddress
     
      Else
     
        MsgBox "la recherche est infructueuse"
      End If
    End With
     
    Else
        'si la periode est differente de "Jour", "Jour Nuit" ou "Nuit"
        MsgBox "Le type de periode n'est pas valide "
    End If
     
    'pour ré-initialiser les variables...
    Set zone_recherche = Nothing: Set Cellule_cible = Nothing
     
     
    End Sub

  11. #31
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Pour simplifier le code et si j'ai bien compris, les résultats seront en C8, C9....
    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
    Dim n°col As Integer, i As Integer
    Dim Zone_Recherche As Range, Cellule_Cible As Range
    Dim Periode As String, Critere As String, PremAdr As String
     
    Periode = UCase(Worksheets("Feuille_garde").Range("G6").Value)
    n°col = 2 * Day([Date_planning])
    If Periode = "JOUR" Or Periode = "JOUR NUIT" Then
       Critere = "J"
    ElseIf Periode = "NUIT" Then
       n°col = n°col + 1
       Critere = "N"
    Else
       MsgBox "Le type de periode n'est pas valide"
       Exit Sub
    End If
     
    With Worksheets("Planning")
       Set Zone_Recherche = .Range(.Cells(3, n°col), .Cells(9, n°col))
       Set Cellule_Cible = Zone_Recherche.Find(Critere, LookIn:=xlValues, lookat:=xlWhole)
     
       If Not Cellule_Cible Is Nothing Then
          PremAdr = Cellule_Cible.Address
          Do
             Worksheets("Feuille_garde").Range("C" & 8 + i) = .Range("A" & Cellule_Cible.Row).Value
             i = i + 1
             Set Cellule_Cible = Zone_Recherche.FindNext(Cellule_Cible)
          Loop While Not Cellule_Cible Is Nothing And Cellule_Cible.Address <> PremAdr
       Else
          MsgBox "la recherche est infructueuse"
       End If
    End With

  12. #32
    Membre éprouvé
    Avatar de yoyo3d
    Homme Profil pro
    Administratif
    Inscrit en
    Avril 2002
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administratif
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2002
    Messages : 413
    Points : 1 254
    Points
    1 254
    Par défaut
    P.S merci pour vos réponses, je test ça cet apres midi et je vous dirait...mais à premiere vue ça doit etre bon, je suis arrivé à peu pret au meme resultat sur un petit exemple mais je bloque sur le findnext...

    Mercatog, effectivement c'est beaucoups plus court, moitié moins de ligne...

  13. #33
    Membre éprouvé
    Avatar de yoyo3d
    Homme Profil pro
    Administratif
    Inscrit en
    Avril 2002
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administratif
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2002
    Messages : 413
    Points : 1 254
    Points
    1 254
    Par défaut
    Re Salut.....
    Zyhack cette fois c'est bel et bien fini
    ton explication m'a permis de refaire ma feuille de A à Z, et de l'addapter pour chaque type de personnel, (j'ai des Chefs de Salle, des Opérateurs, du personnel d'astreinte avec du personnel de garde ponctuelle (l'equivalent du JN)
    Au final j'ai 6 "Function" que j'ai simplement appelées dans mon Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub Fonction_principale()
     
    Chef_de_salle
    chef_de_salle_Astreinte
    Chef_de_salle_JN
    Opérateur
    Opérateur_Astreinte
    Operateur_JN
     
    End Sub
    Cela me permetra de repérer directement les parties de code que j'aurais à mettre à jour, (cela arrivera forcement, mon patron à tout plein d'idées en ce moment...)

    je vais maintenant essayer d'addapter le code de Mercatog, pour voir si je peux gagner quelques lignes....

    En tout cas, 10000 merci car sans vous, j'aurais probablement pas été fichu de comprendre le findnext....et je n'aurais pas pu terminer cette macro.....
    je commence à mieux appréhender ce langage....

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [XL-2013] Rechercher une donnée dans un tableau
    Par guits56 dans le forum Excel
    Réponses: 2
    Dernier message: 31/07/2014, 08h36
  2. Réponses: 1
    Dernier message: 01/03/2008, 12h01
  3. Réponses: 10
    Dernier message: 05/01/2008, 11h59
  4. Réponses: 1
    Dernier message: 08/09/2007, 19h00
  5. Rechercher une valeur dans un tableau
    Par pafi76 dans le forum Access
    Réponses: 2
    Dernier message: 29/06/2006, 14h23

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