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 :

Recherche donnee dans feuille 2


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2019
    Messages : 16
    Points : 8
    Points
    8
    Par défaut Recherche donnee dans feuille 2
    Bonjour a tous,

    Veuillez excuser le manque d'accent sur mon message, je ne suis pas en France et ecris avec un clavier qwerty.

    Je suis actuellement en train de travailler sur un projet de code demandant une adresse dans une inputbox. J'ai cree une boucle entre inputbox et msgbox pour que l'utilisateur ne puisse pas detourner la recherche.
    Dans ce sous projet du programme, l'objectif est de verifier l'adresse rentree pour savoir si elle est deja presente dans le range. Si l'adresse est presente j'aimerais renvoyer une alerte a l'utilisateur et ne pas ajouter l'adresse dans la feuille. Si elle n'est pas presente j'aimerais ajouter la ligne dans ma feuille.

    J'ai commence a coder :

    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
    Private Sub CommandButton1_Click()
     
    'Inputbox demande ladresse
     
    Dim newproperty As String
    newproperty = InputBox("You would like to add a new property on the board, however we are going to check first if this property does not exists already. Please enter the addess on the check box", "Add a new property on the board", "Property Address NUMBER + NAME OF ROAD + TYPE OF ROAD")
     
    'Si lutilisateur entre une adresse
     
    If newproperty <> "" Or newproperty <> " " Then
    Set RG = Sheets(3).Range("B4:B10000").Find(newproperty, RG)
     
    If 
     
    'Si lutilisateur ne rentre rien pour passer alors
     
    If newproperty = "" Or newproperty = "Property Address NUMBER + NAME OF ROAD + TYPE OF ROAD" Or newproperty = " " Then
    newproperty = InputBox("You would like to add a new property on the board, however we are going to check first if this property does not exists already. Please enter the addess on the check box", "Add a new property on the board", "Property Address NUMBER + NAME OF ROAD + TYPE OF ROAD")
     
     
    End If
     
    'Si lutilisateur ne rentre rien pour passer alors
     
    If newproperty = "" Or newproperty = "Property Address NUMBER + NAME OF ROAD + TYPE OF ROAD" Or newproperty = " " Then
    intbutton = MsgBox("We can not complete the task requested. The property is not added on the board", vbExclamation + vbRetryCancel + vbDefaultButton2, "Error - No property added on the board")
     
    'Si lutilisateur le fait deux fois alors msgbox pour alerter et ressayer ou annuler
     
    If MsgBox("We can not complete the task requested. The property is not added on the board", vbExclamation + vbRetryCancel + vbDefaultButton2, "Error - No property added on the board") = vbRetry Then
    newproperty = InputBox("You would like to add a new property on the board, however we are going to check first if this property does not exists already. Please enter the addess on the check box", "Add a new property on the board", "Property Address NUMBER + NAME OF ROAD + TYPE OF ROAD")
    End If
     
    If MsgBox("We can not complete the task requested. The property is not added on the board", vbExclamation + vbRetryCancel + vbDefaultButton2, "Error - No property added on the board") = vbCancel Then
    End If
     
    End If
    End Sub
    J'aurais besoin de votre aide pour ecrire la partie du code qui consiste a rechercher dans la feuille 2 mon string et pour la partie Si la valeur est trouvee alors ajouter une nouvelle ligne.

    Soyez indulgents svp, ce n'est que mon deuxieme essai de code et je fais de mon mieux !
    Ps : Je suis desolee je ne peux pas partager de fichier puisquil sagit de donnees parfaitement confidentielles.

    Merci a tous et bonne journee

  2. #2
    Membre averti
    Homme Profil pro
    Sapeur pompier
    Inscrit en
    Février 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sapeur pompier
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 442
    Points : 416
    Points
    416
    Par défaut
    Bonjour Mississipi,

    Si j'ai bien compris votre besoin, vous vous servez d'un formulaire pour renseigner une feuille Excel, et vous souhaitez pouvoir vérifier si la donnée n'existe pas déjà dans le classeur.
    Pour le faire, je pense utiliser une boucle qui rechercherait si la valeur existe déjà, mais j'ai eu du mal a lire votre code, pensez à le mettre entre les balises (bouton#), de plus sans exemple on va pas pouvoir vous aidez, afin de mieux appréhender votre besoin et vous aider, pouvez-vous nous mettre un fichier sans les informations confidentielles mais avec une feuille excel renseignée de fausse information et le formulaire.

    Cordialement

    Sebing
    Débutant, j’essaie de m’améliorer en essayant d'aider sur le forum
    Merci d’être indulgent sur le code ou réponse proposé je reçois volontiers les critiques qui me feront progresser, mais aussi un (ça fait toujours plaisir de savoir que l on a pu dépanner une personne ).

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Pour savoir si une recherche est fructueuse, il faut vérifier si le résultat (ta variable RG) est Nothing.
    Il y a un exemple à ce sujet dans l'aide VBA de la méthode Find.
    https://msdn.microsoft.com/fr-fr/lib...6(v=office.15)

    Mais je pense que la structure de ton code n'est pas très efficace.
    Tu devrais faire un algorithme avant de coder.

    Citation Envoyé par Mississipi Voir le message
    J'ai cree une boucle entre inputbox et msgbox pour que l'utilisateur ne puisse pas detourner la recherche.
    Je ne vois pas de boucle dans ton code.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Comme les amis précédent ( ) Je ne vois pas de boucle dans ton code.

    Juste avant le code : "If - JE BLOQUE ICI" tu fais une recherche est-ce que c'est cela ce que tu appelles boucle ?
    mais tu testes pas si c'est bon ou pas bon
    (un truc booléen du genre trouv = True si trouvé et false si pas trouvé)

    Je te conseille de rendre ton code lisible, très lisible même ne serais-ce que pour toi quand plus tard tu voudras le faie évoluer (il faut toujours penser à la maintenance)

    1er travail
    Au lieu de faire cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    newproperty = InputBox("You would like to add a new property on the board, however we are going to check first if this property does not exists already. Please enter the addess on the check box", "Add a new property on the board", "Property Address NUMBER + NAME OF ROAD + TYPE OF ROAD")
    faire
    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
    Sub test()
     
    Dim Promp As String     ' variable for the text on InputBox
    Dim Tit As String       ' Variable for the title of InputBox
    Dim Difault As String   ' Variable of Default value of InputBox
     
    Promp = "You would like to add a new property on the " & vbCrLf & _
    "board, however we are going to check first if this property does not exists already." & _
    vbCrLf & vbCrLf & _
    " Please enter the addess on the check box"
     
    Tit = "Add a new property on the board"
     
    Difault = "Property Address NUMBER + NAME OF ROAD + TYPE OF ROAD"
     
    newproperty = InputBox(Promp, Tit, Difault)
    2ème travail

    faire une boucle avec une variable (genre ligne qui va passer d'une ligne à l'autre en s'incrémentant dans une boucle pour tester ta valeur

    utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Do While ....
    ...
    loop
    3ème travail

    expliquer ce que veut dire : 'Si lutilisateur le fait deux fois alors msgbox pour alerter et ressayer ou annuler

    je ne l'ai pas compris

    à bientôt
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2019
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Merci pour tout vos retours.

    - Bonjour Sebing,
    Vous avez bien compris mon besoin. Je ne retrouvais pas le bouton qui permettait de mettre le code entre balise dans l'interface de message, merci de me l'avoir rappele je l'utiliserais desormais. Je vais essayer de preparer une version sans information confidentielles, mais ce n'est pas evident car meme les titres de colonnes ne sont pas partageables...

    - Bonjour Menhir,
    Hum je suis debutante en code vba et je ne suis pas dutout programmeuse de base... mais j'aimerais beaucoup apprendre a l'utiliser correctement afin d'etre plus efficace dans la creation de mes documents excel. Je vais reecrire le code d'une meilleure facon mais ce n'est pas facile
    J'ai ecrit un petit quelque chose avant de faire mon code :

    Si X = X alors search X dans FeuillY et dans range Z
    Si search x <> x alors msgbox1 + add line dans FeuillY
    Si search x = x alors msgbox 2 + Exit sub

    Je ne sais pas si cela correspond a la definition d'algorithme dans le sens informatique...
    Pour la boucle, my bad elle nest pas presente dans le code que j'ai envoye mais j'avais utilise While xxx Wend, sauf que cela me creer une boucle infinie et c'est penible pour l'utilisateur.

    - Bonjour Igloobel,
    Merci pour votre retour pedagogique je vais utiliser vos infrmations pour reecrire correctement mon code.
    Pour le premier exemple, je ne savais pas que l'on pouvait coder une inputbox de cette facon, mais c'est effectivement bien plus clair.
    Pour le second exemple, oui c'est ce que j'avais par la suite, mais j'avais cree une boucle infinie qui etait tres penible, je vais reverifier aujourd'hui.
    Pour le troisieme point, je voudrais eviter a l'utilisateur de passer cette etapes en cliquant OK plusieurs fois.... mais finalement si j'utilise la boucle avec Do While ou Do Until, je ne devrais pas a avoir a ecrire cette partie du code.



    Je vais me reconcentrer sur mon code et faire le plus clair possible et partager par la suite mon fichier, ca sera alors plus facile pour se comprendre
    Je reviens vers vous, merci

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2019
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    Pour information, j'ai reecris le code suivant qui me parait plus clair et repondant a vos enseignements precedents (esperons)... mais evidement il ne fonctionne pas - Error Mismatch

    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
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    Private Sub CommandButton1_Click()
     
    'Ask for the address
     
    Dim Promp As String     ' variable for the text on InputBox
    Dim Tit As String       ' Variable for the title of InputBox
    Dim Difault As String   ' Variable of Default value of InputBox
    Dim newproperty As Variant ' Variable of my data
     
        'Text of the inputbox
    Promp = "You would like to add a new property on the " & vbCrLf & _
    "board, however we are going to check first if this property does not exists already." & _
    vbCrLf & vbCrLf & _
    " Please enter the addess on the check box"
     
        'Title of the inputbox
    Tit = "Add a new property on the board"
     
        'Text in the checkbox
    Difault = "Property Address Example : 32 WILSONS ROAD"
     
        'variable name
    newproperty = InputBox(Promp, Tit, Difault)
     
    'Loop in case of error from the user
    Do While newproperty = "" Or newproperty = " " Or newproperty = "Property Address Example : 32 WILSONS ROAD"
     
        'variable name
    newproperty = InputBox(Promp, Tit, Difault)
     
    Loop
     
     ' ici il faudrait ajouter lopportunite pour lutilisateur de quitter la fonction en cliquant sur le bouton cancel de linput box, pour eviter une boucle infinie
     
    'Use the newproperty variable in searh the data on the table
     
    Dim RG As Range
    Dim Propertyview As Worksheet
    Set RG = Range("c6:C500")
    Set Propertyview = Sheets("Property view")
    Dim myresearch As Boolean
     
    If newproperty <> "" Or newproperty <> " " Or newproperty <> "Property Address Example : 32 WILSONS ROAD" Then
    Active.Propertyview
    myresearch = RG.Find(newproperty, RG, xlValue, xlPart, xlbyrow, xlNext)
     
    End If
     
    'If y research = not nothing
     
    If myresearch = False Then
     
        'Text of the msgbox
    Promp = " We can not add this property on the table as it already exists." & vbCrLf & _
    "Please use Update property button on the General Board."
     
        'Title of the msgbox
    Tit = "Sorry, we can not add this property"
     
        'variable name
    myresearchisfound = MsgBox(Promp, vbOKOnly, Tit)
     
    End If
        ' End of the process
    If vbOK Then Exit Sub
     
     
     
    'If y research = nothing
    If myresearch = True Then
     
    'add the line on the table
    Sheets("Property view").Select
        Rows("6:6").Select
        Selection.Insert Shift:=xlDown
        Rows("8:8").Select
        Selection.Copy
        Rows("6:6").Select
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
        Range("C6").Select
     
     
    'inform the user the property has been added
     
    Else
     
     
        'Text of the msgbox
    Promp = "The property has been added in the first column of the table."
     
        'Title of the msgbox
    Tit = "The property has been added"
     
        'variable name
    myresearchisnotfound = MsgBox(Promp, vbOKOnly, Tit)
    End If
     
    End Sub
    Si vous avez une idee d'ou cela peut venir... Je suis preneuse d'apprentissage donc n'hesitez pas a ajouter des explications pour que je puisse comprendre, je ne cherche pas le copier coller merci milles fois !

  7. #7
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    quelques remarques

    1°)
    -Je voufrais savoir pourquoi tu lances 2 fois l'inputBOX ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ...    'variable name
    newproperty = InputBox(Promp, Tit, Difault)
     
    'Loop in case of error from the user
    Do While newproperty = "" Or newproperty = " " Or newproperty = "Property Address Example : 32 WILSONS ROAD"
     
        'variable name
    newproperty = InputBox(Promp, Tit, Difault)
     
    Loop
    ...
    Une fois suffit

    2°)
    - toujours au même endrois tu testes si c'est = "" ou " " mais si il y en a plus 5,10,20 ... tu les laisses passer ?

    Je te conseille d'utiliser TRIM() cela enlève les espaces avant et après le texte

    - comme la variable newproperty n'est pas initialisé je te conseille de faire ta boucle avec le test dans l'instruction LOOP

    - Je trouve dommage de ne pas utiliser ta variable Difault qui contient ton texte


    du coup cela devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ...
        'variable name
    'newproperty = InputBox(Promp, Tit, Difault)
     
    'Loop in case of error from the user
    Do
        'variable name
    newproperty = InputBox(Promp, Tit, Difault)
     
    Loop While Trim(newproperty) = "" Or Trim(newproperty) = Difault
    ...
    3°)
    - Je ne comprend pas
    Active est une mot réservé d'une méthode d'un objet et qui renvois un booléen (cf touche F1 (aide en ligne))

    donc tu peux en faire un test du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Propertyview.Active = True then ...
    Mais pas comme tu l'as fait

    (mais je suis pas sur que ce soit une bonne solution)

    4°)
    - tu crois pas qu'il y a un problème dans ce test ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If newproperty <> "" Or newproperty <> " " Or newproperty <> "Property Address Example : 32 WILSONS ROAD" Then
    Active.Propertyview
    myresearch = RG.Find(newproperty, RG, xlValue, xlPart, xlbyrow, xlNext)
     
    End If
    Por moi il est forcément vrai quoi qu'il arrive


    5°)

    Comme tu as des problèmes avec Find et que tu es débutante (c'est ce que tu as dit) je te propose de faire une boucle comme ceci

    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
    Sub autre_test()
        Dim LastRow As Long     ' Numéro de la dernière ligne remplie
        Dim lign As Long        ' Variable pour lister un par un les cellules
        Dim Trouv As Boolean    ' Variable pour sortir de la boucle quand on a trouvé la corespondance
     
        'Trouve la dernière ligne remplie de la colonne C à partir de C6
        LastRow = [C6].End(xlDown).Row
     
        Trouv = False
     
        For lign = 1 To LastRow
            If Cells(lign, 3).Value = newproperty Then
                Trouv = True
                Exit For        ' action qui permet de sortir de la boucle For
            End If
        End Sub
     
        If Trouv = True Then
    		'message j'ai trouvé il existe
        Else
    		'Action d'ajout
        End If
    End Sub
    c'est plus simple et assez clair

    Fais les corrections qui s'impose (je ne t'ai pas tout corrigé )

    et reviens nous voir avec tes corrections et tes questions, enfin ... si tu en as


    PS avant de poster ton classeur fait des captures écrans et poste ton classeur quand on te le demandera

    A bientôt
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2019
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    Bonjour !

    Bon apres une semaine de recherche je n'arrive pas a trouver le bon code pour faire ce dont j'ai besoin...
    Help

    En francais ca donne : j'aimerais que mon code VBA cherche dans ma feuille A si la valeur B existe. Si B existe alors je quitte ma fonction. Si B n'existe pas alors je rajoute une ligne en bas du tableau...
    Ca parait tellement simple, mais je n'y arrive pas et c'est tres enervant.

    J'ai reussi a faire tout le reste de mon fichier sauf cette partie.

    Si quelqu'un veut m'aider, merci milles fois !
    Bonne journee

  9. #9
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Mississipi Voir le message
    Bon apres une semaine de recherche je n'arrive pas a trouver le bon code pour faire ce dont j'ai besoin...
    Peut-être pourrais-tu présenter le code que tu as élaboré "pendant une semaine" pour qu'on puisse t'indiquer ce qui ne va pas.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  10. #10
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Mississipi Voir le message
    Bonjour !

    Bon apres une semaine de recherche je n'arrive pas a trouver le bon code pour faire ce dont j'ai besoin...
    Help

    En francais ca donne : j'aimerais que mon code VBA cherche dans ma feuille A si la valeur B existe. Si B existe alors je quitte ma fonction. Si B n'existe pas alors je rajoute une ligne en bas du tableau...
    Ca parait tellement simple, mais je n'y arrive pas et c'est tres enervant.

    J'ai reussi a faire tout le reste de mon fichier sauf cette partie.

    Si quelqu'un veut m'aider, merci milles fois !
    Bonne journee
    Bonjour,

    Bon vu que tu as essayé sans succès apparemment voici un code qui fonctionne (je l'ai testé)


    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
    87
    88
    89
    Private Sub CommandButton1_Click()
     
    'Ask for the address
     
        Dim Promp As String     ' variable for the text on InputBox
        Dim Tit As String       ' Variable for the title of InputBox
        Dim Difault As String   ' Variable of Default value of InputBox
        Dim newproperty As String ' Variable of my data
     
        Dim LastRow As Long     ' Numéro de la dernière ligne remplie
        Dim lign As Long        ' Variable pour lister un par un les cellules
        Dim Trouv As Boolean    ' Variable pour sortir de la boucle quand on a trouvé la corespondance
     
            'Trouve la dernière ligne remplie de la colonne C à partir de C6
        LastRow = [C6].End(xlDown).Row
     
     
            'Text of the inputbox
        Promp = "You would like to add a new property on the " & vbCrLf & _
           "board, however we are going to check first if this property does not exists already." & _
           vbCrLf & vbCrLf & _
           " Please enter the addess on the check box"
     
            'Title of the inputbox
        Tit = "Add a new property on the board"
     
            'Text in the checkbox
        Difault = "Property Address Example : 32 WILSONS ROAD"
     
            'mettre la valeur de Difault dans la variable newproperty pour pouvoir quitter par la bouton annuler
        newproperty = Difault
     
     
            ' boucle tant que l'exemple est présent
        Do
            newproperty = InputBox(Promp, Tit, Difault)
        Loop While newproperty = Difault
     
            ' Sortie du programme par le bouton annuler
        If Trim(newproperty) = "" Then
            Exit Sub
        Else
     
     
     
            Trouv = False
     
            For lign = 1 To LastRow
                If Cells(lign, 3).Value = newproperty Then
                    Trouv = True
                    Exit For        ' action qui permet de sortir de la boucle For
                End If
            Next
     Stop
     
            If Trouv = True Then
                'message j'ai trouvé il existe
                    'Text of the msgbox
                Promp = " We can not add this property on the table as it already exists." & vbCrLf & _
                        "Please use Update property button on the General Board."
                    'Title of the msgbox
                Tit = "Sorry, we can not add this property"
     
                MsgBox Promp, vbOKOnly, Tit
     
                    'sortie du programme pour faire une nouvelle action
                Exit Sub
     
            Else
                    'Action d'ajout en fin de liste
                Cells(LastRow + 1, 3).Value = newproperty
     
    '            'j'ai pas compris ton ajout
    '            'add the line on the table
    '            Sheets("Property view").Select
    '                Rows("6:6").Select
    '                Selection.Insert Shift:=xlDown
    '                Rows("8:8").Select
    '                Selection.Copy
    '                Rows("6:6").Select
    '                Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    '                    SkipBlanks:=False, Transpose:=False
    '                Application.CutCopyMode = False
    '                Range("C6").Select
     
     
            End If
        End If
    End Sub
    Cependant il y a des choses qui m'intrigue ton : "Sheets("Property view").Select"
    il sous-entend que tu n'es, au départ, pas dans la feuille où on ajoutes la nouvelle adresse. Or tu vérifies si c'est présent dans la feuille courante ...

    Peux-tu réexpliquer en ce qui concerne l'ajout d'une donnée

    A bientôt
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2019
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Peut-être pourrais-tu présenter le code que tu as élaboré "pendant une semaine" pour qu'on puisse t'indiquer ce qui ne va pas.
    J'avais tout recommence hier en essayant plusieurs techniques, je bloque a chaque fois sur l'ajout de la ligne. Hier j'avais trouve comment faire la recherche en utilisant worksheets.function.vlookup et en inserant le resultat dans une celulle d'une de mes feuilles puis en faisant un IF entre les deux celulles qui rapportait mon resultat... ca marchait a merveille pour trouver une property existante dans la liste mais pas pour les inexistantes puisque cela me renvoyait N/A et bloquait mon code. Apres je me suis dit que j'allais essayer .find mais alors l'echec a ete fort cuisant, je n'arrive pas a utiliser cette fonction, elle ne fonctionne jamais avec moi. J'ai abandonne le code de ce bouton pour finir le reste et y revenir... Puis j'ai tellement galere que j'ai abandonne.
    Je dois avouer qu'apres une semaine, j'ai efface le bouton Add, en me disant que je recommencerais tout encore une fois a tete reposee et avec votre aide si vraiment il y avait besoin du bouton. Finalement en faisant des tests pour mettre en route mon fichier, je e suis rendue compte que ce bouton etait necessaire, j'ai donc fait repondu a ce poste.

    En attendant j'ai code le reste de mon fichier avec 14 autres boutons qui update le fichier, qui update des dates, qui renvoient les informations etc... superbe fichier et code dont je suis plutot fiere, mais ce pu*** de bouton add line que je n'arrive pas a coder m'enerve au plus haut point !

    Igloobel, merci pour ton code qui a merveilleusement bloque mon fichier au premier essai
    Je te confirme que l'utilisateur n'est pas sur la feuille avec toutes les donnees quand il clique sur ce bouton mais sur la General board sheet qui contient tous les boutons de commande. Donc je suis obligee d'ajouter dans mes codes la reference a la sheet property view, qui est ma feuille ou les donees sont completees et qui n'est disponible qu'en consultation. De plus la feuille est protegee donc je dois unprotect and protect pour toutes mes actions ... c'est la joie !

    J'ai adapte le code que tu m'as gentiment envoye et fait quelques modifications et il fonctionne

    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
     
    Private Sub CommandButton15_Click()
     
    'Ask for the address
     
    Dim Promp As String     ' variable for the text on InputBox
    Dim Tit As String       ' Variable for the title of InputBox
    Dim Difault As String   ' Variable of Default value of InputBox
    Dim newproperty As String ' Variable of my data
     
    Dim LastRow As Long     ' Numéro de la dernière ligne remplie
    Dim lign As Long        ' Variable pour lister un par un les cellules
    Dim Trouv As Boolean    ' Variable pour sortir de la boucle quand on a trouvé la corespondance
     
    Sheets("Property view").Unprotect "BOARD"
    'Find the last completed row on the table from B6
    LastRow = Sheets("Property view").[B6].End(xlDown).Row
     
    'Text of the inputbox
    Promp = "You would like to add a new property on the " & vbCrLf & _
    "board, however we are going to check first if this property does not exists already." & _
    vbCrLf & vbCrLf & _
    "Please enter the addess on the box below."
     
    'Title of the inputbox
    Tit = "Add a new property"
     
    'Text in the checkbox
    Difault = "Property Address Example : 32 WILSONS ROAD (no comma please)"
     
    newproperty = Difault
     
    ' Loop
    Do
    newproperty = InputBox(Promp, Tit, Difault)
    Loop While newproperty = Difault
     
    ' to be able to click on cancel and not be stick on the loop
    If Trim(newproperty) = "" Then
    Exit Sub
    Else
     
    Trouv = False
    ' Searh of myproperty on the table and exit if find
    For lign = 1 To LastRow
    If Sheets("Property view").Cells(lign, 2).Value = newproperty Then
    Trouv = True
    Exit For
    End If
    Next
    If Trouv = True Then
    MsgBox "This property already exists. Request cancelled."
    Exit Sub
     
    Else
     
    'If myproperty is not find, add a new line and copy the layout of the line 6, initial line
    Sheets("Property view").Cells(LastRow + 1, 2).Value = newproperty
     
    Sheets("Property view").Select
    Sheets("Property view").Rows(6).Select
    Selection.Copy
    Sheets("Property view").Rows(LastRow + 1).Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
     
    'Protect again the sheet
    Sheets("Property view").Protect "BOARD"
     
    End If
    End If
    End Sub
    J'ai beaucoup de mal a utiliser FOR et ELSE, mais je suppose que ca vient avec le temps. Je ne connaissais pas la fonction Trim et ne comprend pas son utilisation dans le code. Peux tu m'en dire plus sur son role stp ?

    J'aimerais egalement que la recherche de property ne respecte pas la casse, c'est a dire (si j'ai bien compris le terme casse) que s'il trouve une valeur se rapprochant de ma saisie, il confirme a l'utilisateur " etes vous sur qu'il ne s'agit pas de la property xxx deja presente en ligne x ?"
    Je vois comment ajouter l'inputbox mais je ne sais pas comment coder si ma valeur approche d'une des valeurs du tableau alors inputbox et je ne sais pas coder le renvoi du numero de ligne dans mon inputbox.
    Exemple, si l'utilisateur tape 32 Wilson et pas 32 Wilsons, j'aimerais que le code detecte cette difference et demande a l'utilisateur s'il ne voulait pas ecrire wilsons plutot que wilson... Par la suite si l'utilisateur fait "OUI" on annule la fonction (je pense que cette partie je devrais pouvoir la coder" si l'utilisateur fait "Non c'est bien une nouvelle" alors la fonction ajout ligne s'applique.

    Par ailleurs, est il possible de forcer le format CAPS de la valeur qui remplace DIFAULT (la valeur saisie par l'utilisateur, la variable newproperty) ? Je sais utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComboBox4.Text = UCase(ComboBox4.Text)
    mais ne sais pas l'appliquer a une variable.

    Merci par avance pour votre aide !

  12. #12
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Mississipi Voir le message
    J'ai beaucoup de mal a utiliser FOR et ELSE, mais je suppose que ca vient avec le temps. Je ne connaissais pas la fonction Trim et ne comprend pas son utilisation dans le code. Peux tu m'en dire plus sur son role stp ?
    L'instruction Trim() supprime les Espaces avant et après le texte alpha

    exemple je saisis " toto " avec trim j'obtient "toto"

    cela règle la question si je saisis un espace " " ou deux " " ou trois " " ... ou plus " "
    cela reviens du coup à tester ""

    car on ne peut pas tester tous les cas de figures



    Citation Envoyé par Mississipi Voir le message
    J'aimerais egalement que la recherche de property ne respecte pas la casse, c'est a dire (si j'ai bien compris le terme casse) que s'il trouve une valeur se rapprochant de ma saisie, il confirme a l'utilisateur " etes vous sur qu'il ne s'agit pas de la property xxx deja presente en ligne x ?"
    Je vois comment ajouter l'inputbox mais je ne sais pas comment coder si ma valeur approche d'une des valeurs du tableau alors inputbox et je ne sais pas coder le renvoi du numero de ligne dans mon inputbox.
    Exemple, si l'utilisateur tape 32 Wilson et pas 32 Wilsons, j'aimerais que le code detecte cette difference et demande a l'utilisateur s'il ne voulait pas ecrire wilsons plutot que wilson... Par la suite si l'utilisateur fait "OUI" on annule la fonction (je pense que cette partie je devrais pouvoir la coder" si l'utilisateur fait "Non c'est bien une nouvelle" alors la fonction ajout ligne s'applique.
    Pour cela je te propose d'utiliser Mais attention la lettre manquante sera facile à faire mais il faudra aussi tester la lettre en trop

    et à l'intérieur de la saisie cela sera plus compliqué
    exemple :
    si la personne tape : 32 Wilons
    tu seras obligé de comparer caractère par caractère et de compter le nombre de caractères commun

    plus difficile s'il tape :32 Wislons (invertion de lettre, cas typique du gars qui porte des moufles au bureau ) malheureusement ils sont légions

    une fois tous tes tests fait du devrais, je pense, faire un msgbox (Yes No) demandant confirmation avant de l'ajouter dans ta liste
    un message du genre :
    vous avez saisi: ...........
    êtes vous sur que la saisie est correcte ?

    et de tester s'il a cliqué sur Yes


    Citation Envoyé par Mississipi Voir le message
    Par ailleurs, est il possible de forcer le format CAPS de la valeur qui remplace DIFAULT (la valeur saisie par l'utilisateur, la variable newproperty) ? Je sais utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComboBox4.Text = UCase(ComboBox4.Text)
    mais ne sais pas l'appliquer a une variable.

    Merci par avance pour votre aide !
    Pour ce dernier point tu peux utiliser les SendKeys

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SendKeys "{CAPSLOCK}", true
    Perso j'ai plus l'abitude d'utiliser Ucase
    mais c'est bon de connaître les deux et c'est toi qui choisis

    Utilise à fond l'aide en ligne pour voir comment fonctionne tout ce que je t'ai présenté

    Essaye et dis nous si il y a un soucis

    à bientôt
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

  13. #13
    Futur Membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2019
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    Hello et merci encore pour tes retours tres reactifs.

    J'ai ecrit le code suivant :

    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
    Private Sub CommandButton15_Click() ' add a property
     
    'Ask for the address
     
    Dim Promp As String     ' variable for the text on InputBox
    Dim Tit As String       ' Variable for the title of InputBox
    Dim Difault As Variant   ' Variable of Default value of InputBox
    Dim newproperty As Variant ' Variable of my data
     
    Dim LastRow As Long     ' Numéro de la dernière ligne remplie
    Dim lign As Long        ' Variable pour lister un par un les cellules
    Dim Trouv As Boolean    ' Variable pour sortir de la boucle quand on a trouvé la corespondance
     
    Sheets("Property view").Unprotect "BOARD"
    'Find the last completed row on the table from B6
    LastRow = Sheets("Property view").[B6].End(xlDown).Row
     
    'Text of the inputbox
    Promp = "You would like to add a new property on the " & vbCrLf & _
    "board, however we are going to check first if this property does not exists already." & _
    vbCrLf & vbCrLf & _
    "Please enter the addess on the box below."
     
    'Title of the inputbox
    Tit = "Add a new property"
     
    'Text in the checkbox
    Difault = "Property Address Example : 132 WILSONS ROAD (no comma please)"
     newproperty = Difault
     
    ' Loop
    Do
    newproperty = InputBox(Promp, Tit, Difault)
    Loop While newproperty = Difault
     
    ' to be able to click on cancel and not be stick on the loop
    If Trim(newproperty) = "" Then
    Exit Sub
    Else
    Search = False
    ' Search of myproperty on the table and exit if find
    For lign = 1 To LastRow
    If Sheets("Property view").Cells(lign, 2).Value = newproperty Then
    Search = True
    Exit For
    End If
    Next
     
    If Search = True Then
    sure = MsgBox("You have entered " & newproperty & " are you sure this is the correct address ?", vbYesNo)
    If sure = vbYes Then
    MsgBox "This property already exists, please use the button FOUND on the General Board. Request cancelled"
    Sheets("Board").Select
    Sheets("Property view").Protect "BOARD"
    Exit Sub
     
    Else
    MsgBox "Then try again"
    Sheets("Board").Select
    Sheets("Property view").Protect "BOARD"
    Exit Sub
     
    End If
    End If
     
    If Search = False Then
    MsgBox "This property has been added at the end of the table. Thanks"
     
    'If myproperty is not find, add a new line and copy the layout of the line 6, initial line
    Sheets("Property view").Cells(LastRow + 1, 2).Value = newproperty
    Sheets("Property view").Select
    Sheets("Property view").Rows(6).Select
    Selection.Copy
    Sheets("Property view").Rows(LastRow + 1).Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
     
    'Protect again the sheet
    Sheets("Property view").Protect "BOARD"
    Exit Sub
     
    End If
    End If
    End Sub

    Du coup, en changeant trouv par search il ne prend plus en compte la casse et trouve ma propriete que j'ecrive en majuscules ou minuscules ()
    En ce qui concerne les lettres manquantes, je ne peux pas coder chacune des erreurs, c'est trop long et c'est surtout trop complique pour mon petit niveau.
    N'y a t'il aucun moyen d'appliquer ce genre de code ci dessous sur ma recherche " If Sheets("Property view").Cells(lign, 2).Value = newproperty" ?
    Car j'avais code sur un autre fichier, avec l'aide de ce forum, une recherche via un filtre avec un critere sur la valeur approchante et cela fonctionne parfaitement. Mais je n'arrive pas a l'appliquer dans mon cas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Range("D13:E13").Select
        Selection.AutoFilter
        Range("$D$13:$AZ$11469").Select
        ActiveSheet.Range("$D$13:$AZ$11469").AutoFilter Field:=2, Criteria1:="=*" & Property & "*"
    C'est cette partie qui m'interesse : Criteria1:="=*" & Property & "*"

    Si ce n'est pas possible alors tant pis, je trouve que le code est deja bien et je ferais une campagne de sensibilisation aux utilisateurs de faire gaffe...

    Merci encore !

  14. #14
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Ma proposition de Instr() ne te plais pas ?
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

  15. #15
    Futur Membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2019
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    Mais non voyons, c'est juste que je n'arrive pas a l'integrer intelligemment dans mon code donc j'utilise une autre methode.

  16. #16
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    l'utilisation de Instr() est très simple

    dans ta boucle de recherche tu ajoutes les lignes en rouge
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     ' Search of myproperty on the table and exit if find
            For lign = 1 To LastRow
                Containing = InStr(1, Cells(lign, 3).Value, Trim(newproperty))
                If Sheets("Property view").Cells(lign, 2).Value = newproperty Or Containing <> 0 Then
                    Search = True
                    Exit For
                End If
            Next
    Containing est un entier très court tu peux le déclarer en Byte
    ce serait bien que tu déclares Search en booléen
    et de virer Trouv qui ne sert plus à rien



    et tu m'en dira des nouvelles

    sur ce à Lundi
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

Discussions similaires

  1. [XL-2013] Recherche données dans feuille dont une cellule <>0
    Par Invité dans le forum Excel
    Réponses: 10
    Dernier message: 27/09/2015, 11h04
  2. [XL-2010] Userform - recherche données dans feuilles et calcul de moyenne
    Par Nadroj39 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/01/2015, 22h59
  3. [XL-2003] Recherche multicritères dans feuille
    Par stujava dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 07/08/2012, 11h21
  4. recherche chart dans feuille
    Par pinocchio dans le forum Excel
    Réponses: 1
    Dernier message: 22/10/2009, 08h45
  5. Recherche date dans feuille
    Par zeralium dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/09/2008, 23h05

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