Résultats pour "find"

148 résultats pour cette recherche

Bonjour les geeks,

Je bute sur un soucis de code avec la méthode Find.

En fait, dans mon projet je chercher à déterminer la ligne correspondante à une certaine date dans une plage donnée.

Mais lorsque j'exécute, il y a un probmème dans ce bout de code:

Set trouve = plage.Find(Valeur_Cherchee, LookAt:=xlWhole)
           MsgBox (trouve.Row)

En fait, la "Valeur_Cherchee " doit être déterminée lorsque les 2 listes déroulantes de dates du tableau de bord ont la même valeur:

Voici le bloc de code complet:

If Date1_TDB.Value = Date2_TDB.Value Then

        Valeur_Cherchee = Format(Date1_TDB.Value, "dd/mm/yyyy")

        Set plage = Sheets("BD").Range("B7:B" & lastLine)

        'méthode find, ici on cherche la valeur exacte (LookAt:=xlWhole)
        Set trouve = plage.Find(Valeur_Cherchee, LookAt:=xlWhole)
        MsgBox (trouve.Row)

        'Copier la date
        Sheets("TDB_usine").Range("E2") = Sheets("BD").Range("B" & trouve.Row).Value
        'Copier taux de qualité
        Sheets("TDB_usine").Range("F2") = Sheets("BD").Range("AK" & trouve.Row).Value
        'Copier taux performance
        Sheets("TDB_usine").Range("H2") = Sheets("BD").Range("AO" & trouve.Row).Value
        'Copier taux de disponibilté
        Sheets("TDB_usine").Range("J2") = Sheets("BD").Range("AS" & trouve.Row).Value
        'Copier TRG
        Sheets("TDB_usine").Range("L2") = Sheets("BD").Range("AW" & trouve.Row).Value
        'Copier défaillance
        Sheets("TDB_usine").Range("N2") = Sheets("BD").Range("BE" & trouve.Row).Value

        'vidage des variables
        Set plage = Nothing
        Set trouve = Nothing

        With Sheets("TDB_Usine").Shapes("DateUsine").TextFrame
            .Characters.Text = Date1_TDB.Value
            .HorizontalAlignment = xlHAlignCenter
            .VerticalAlignment = xlVAlignCenter
        End With

    Else
    ..........
    ..........

Ci joint le projet, si besoin est.

Merci d'avance pour votre précieuse aide.

4proj.xlsm (736.55 Ko)

Bonjour, j'ai besoin d'aide pour coder une macro en utilisant les fonctions Find et Offset.

Je cherche à trouver la cellule contenant une chaîne de caractère (à l'aide de la fonction Find) et ensuite de récupérer ce que contient la cellule juste en dessous (grâce à la fonction Offset).

J'ai déjà commencer le début du code, mais je n'arrive pas à coder correctement la partie recherche de cellule.

Voici mon code :

Dim Fichier

Dim wb As Object

Dim Indice As String

Dim Indice1 As Range

Set wb = CreateObject("Shell.Application")

wb.Open (Fichier)

With ActiveSheet

Set Indice1 = .Range("A:R").Find(What:="IND/EDI") > La compilation affiche : Variable objet ou variable de bloc With non définie

'Indice = Indice1.Offset ..

End With

wb.Close

Set wb = Nothing

En gros, je cherche à trouver la cellule contenant "IND/EDI", pour ensuite stocker dans "Indice" ce que contient la cellule juste en dessous.

Merci pour vos réponses

Bonjour,

j'ai un soucis de find que j'ai reproduit dans le fichier joint.

En effet j'arrive détecter la ligne de début et fin de tableau mais même si j'utilises les lignes exactes la valeur du match est fausse

cela me retourne 6 au lieu de 9... et je ne comprends vraiment pas pourquoi ici!!

12staff.xlsm (36.38 Ko)

une petite aide serait appréciable

merci

Bonjour,

Alors si quelqu'un peut m'aider a résoudre le problème

J'ai des cellule E8:G14 a cocher avec "X" je voulais faire un recherche avec la fonction FIND pour trouver et copier le même ligne du colonne 'D' dans la feuil2 A1.

Un grand Merci

6essai.xlsx (10.59 Ko)

Bonsoir,

je rencontre un soucis avec un double find

Mon premier find me renvoi bien la ligne correspondante à savoir dans mon cas la 255

Find_id = WP_page.Range("A2:A" & fin).Find(Id_Project).Row

par contre mon deuxieme match supposé me renvoyer la même ligne me renvoit la 258

pourtant quand je tente de transcrire ma ligne c'est bien de B255 à la fin de colonne que je recherche dans la colonne B la référence avec variable current wp id ayant ici la valeur 1

cependant en ligne 255 justement j'ai bien la valeur 1 en colonne B.

Aussi pourquoi saute il a la ligne 258 rencontrant la valeur 1 sans prendre en compte la bonne en ligne 255???

Match_WP_Line = WP_page.Range("B" & Find_id & ":B" & fin).Find(Current_WP_Id).Row

Merci par avance pour votre aide

Salut à toutes et tous.

Nouvelle question mais je galère à trouver la réponse malgré mes recherches.

J'aimerai obtenir une le numéro de colonne d'une valeur dans un tableau structuré. Jusque là rien de compliqué, j'utilise le code

Sheets("Feuil1").Range("Tableau1").Find(10).Column

J'obtient donc 4 dans le fichier en exemple.

Cependant, j'aimerai obtenir le numéro de la colonne à l’intérieur du tableau structuré,donc 1 au lieu de 4 car j'aurai besoin de réutiliser ce numéro de colonne avec un code type

Sheets("Feuil1").Range("Tableau1").cells(1,1) 

qui lui utilise bien la référence par rapport au tableau et non à la feuille.

Merci d'avance pour vos retours et désolé si la question est bête mais j'ai beau chercher, je tourne en rond (la joie d'être autodidacte )

7test.xlsm (23.01 Ko)

Bonjour à tous

Je vous expose mon "problème".

J'ai 2 classeurs Excel, et j'essaye de faire un tableau de synthèse (j'ai le VBA pour ouvrir et lier les 2 classeurs).

Je n'arrive pas à écrire un code pour rechercher les rubriques et renvoyer les valeurs en colonne C et D...

(uniquement les valeurs, pas le format si possible)

J'ai fais un petit exemple, le tableau original étant plus gros, et contenant beaucoup de données privées, je ne peux le joindre :-/

Quelqu'un sait-il m'aider ?

0synthese.ods (8.57 Ko)

Bonjour à tous,

petite question basique en vba :

j'ai la ligne suivante qui me permet ensuite d'extracter un ensemble de donnée pour mon formulaire

 Set ici = .Range("C:C").Find(Acronym, LookIn:=xlValues)

seulement je voudrais pouvoir faire sortir le nombre de valeur max identifié mais ne sait pas comment procéder.

en gros le nombre de fois ou l'acronyme ressort

Une idée svp ?

Merci par avance

Bonjour,

Je sollicite votre aide pour un petit problème.

Je désire venir recopier des donnés datés (toutes les semaines ) sur un calendrier afin de pouvoir les exploités par la suite.

Concrètement j'ai un nom de code dans le 1er onglet et je viens copier sa valeur dans le second onglet à la ligne du code en question.

Pour cela j’utilise la fonction .Find, le problème est que je ne sais pas comment gérer l'erreur " le code dans l'onglet 1 n'est pas présent dans l'onglet 2 ", de plus l’objectif serait de pouvoir déclarer les codes afin de trouver une solution annexe.

J'ai essayé de gérer çà avec On error Go to sans succès, mais aussi avec la fonction "Set" mais sans succès aussi,

Ci joint la partie de mon code :

Sub Cherche()

Dim Valeur_Cherchee As String

Dim Ligne As Integer

Dim i As Double

Dim week As String

Dim Colonne As Integer

Dim nweek As String

Dim c As Double

' traitement de l'export

i = 33

While Sheets("export").Cells(i, 2) <> ""

'Affectation de valeurs aux variables :

Valeur_Cherchee = Sheets("export").Range("C" & i) 'on cherche telle valeur de telle feuille

On Error GoTo ici

Ligne = Sheets("CTB").Columns(1).Find(Valeur_Cherchee, lookat:=xlWhole).Row ' L est egal à la ligne ou on a trouvé la valeur correspondante / LookAt:=xlWhole) valeur exacte

week = Sheets("export").Range("Q" & i)

Colonne = Sheets("CTB").Rows(6).Find(week, lookat:=xlWhole).Column

Sheets("CTB").Cells(Ligne, Colonne) = Sheets("export").Range("J" & i)

i = i + 1

ici:

i = i + 1

Wend

End Sub

Merci d'avance pour votre aide,

Bonne journée à vous

Bonjour à tous,

Je me permet de poster pour solliciter votre aide sur un sujet simple mais que je n'arrive pas à résoudre.

(Je suis débutant en VBA).

Dans la colonne A, j'ai des blocs d'information précédées d'un chiffre allant de 1 à 10.

Cela ressemble à cela:

1

Info

info

info

info

2

info

info

info

3...

Grace à la fonction find, je recherche les numéros pour ensuite selectionner une partie des infos en dessous.

Ors, dans les infos, on retrouve parfois des numéros de téléphone qui contiennent [1-10] et donc ma fonction find les selectionne au lieu des "headers".

Voici ma formule:

Dim X As Integer
For X = 10 To 1 Step -1

 Worksheets(1).Select
        ActiveSheet.Cells.Find("X").Select
        

Pourriez-vous m'aider à résoudre ce pb ?

Merci beaucoup.

Ugo

Bonjour;

J'ai un code vba sert a trouver un valeur saisie dans B1 dans la totalité du classeur et me renvoi des donnes lie au ligne et column de se dernier ce code est:

Set cel= ws.cells.find(what:=nom, lookin:=xlvalues, lookat:=xlwhole)

If not cel is nothing then

Range ("E" & ligne) = cel.offset(0, 1-(cel.column)).

Le code fonction pour la premier occurence de B1 résultat dans E1.

Comment modifier le code pour que la deuxième occurence soit dans B2 et résultat dans E2 et la troisième et quatrième de même façon merci.

Bonsoir à tous,

C'est de nouveau moi pour un second problème..

Je recherche les valeurs de la case fournisseur (colonne D) de la feuille "Données" dans la feuille "Entrée", dans la colonne D également.

Si on trouve la valeur, et que sa ligne n'est pas jaune alors on additionne la valeur de la case "QUANTITE" de la cellule de la feuille "Données", et de la ligne trouvé.

Jusqu'ici ça fonctionne, on cherche donc si il existe d'autre valeur dans la feuille "Entrée" par rapport à la case "Données", on réitère le code pour toute la colonne D de la feuille "Données". Cela fonctionne également.

Les lignes sont jaunes et on ne les prends plus en compte. Si elle est n'est pas jaune c'est qu'elle n'existe pas dans la feuille "Données. Tout ça c'est ok, normal et fonctionnel.

Mon soucis : je vais dans la feuille "Données" (c'est là que mon code s'active), ça lance le code pour la première fois et ça fonctionne. Je retourne dans la feuille "Entrée" pour ajouter une ligne, et je repart dans la feuille "Données" sauf que là, il ne trouve rien ! Le code ne fonctionne pas, alors que pourtant il y a une bien la valeur "ABC" et qui n'est pas colorié en jaune. Il devrait donc faire l'addition, et surtout la colorier en jaune.

Pour l'exemple je vous ai fais un .gif ! J'espère que ça sera parlant.

Je mets également mon fichier en PJ.

Pour information, si je remets toutes les lignes de la feuille "Entrée" en blanc, et que je lance le code avec la nouvelle ligne (que j'avais ajouté avant de lancer la fonction..) ça fonctionne.

Cordialement

200214072045255836

6classeur1.xlsm (46.71 Ko)

Bonsoir,

Comme vous le constaterez sans doute en voyant mon code, je débute.

J'ai une difficulté avec la Méthode Find.

Voici l'objectif visé: à l'aide du USERFORM,_rech_mot qui est appelé à partir du USERFORM_Piece, je dois chercher sur une feuille de pièces mais dans une colonne spécifique, la D. Les mots peuvent également se trouver dans lune autre colonne, souvent dans la C. J'ai un code qui fonctionne très bien mais qui effectue une recherche sur la feuille entière et pas seulement dans la colonne D.

J'aime le fait qu'à chaque clic, ça m'amène dans la prochaine cellule où je trouve le mot recherché ce qui me donne le temps de voir mes descriptions dans mes textbox et de décider de copier le numéro de pièce.

J'ai déjà quelques heures de tentatives mais sans résultats. J'ai joint une partie de mon fichier.

J'espère avoir été assez clair dans ma description de la situation. Merci du temps que vous consacrerez à me répondre.

Bonjour

Je suis débutant en VBA et j'ai un petit problème.

J'ai un fichier que vous trouverez ci-joint. Dans ce fichier, j'aimerais réaliser une macro qui synthétise tous les OK/NOK/NA de la sheets(5) dans la sheets(1).

Je pense que vous comprendrez mieux quand vous verrez mon code dans le fichier

Mon problème c'est que ça ne me remplit pas tout le tableau en feuille 2, ça commence à remplir puis ça s'arrête.

Si vous avez des questions n'hésitez pas.

8exemple.xlsm (110.89 Ko)

bonjour,

le code fonctionne que si tous les find sont trouvés sinon ça plante.

(si ref ou désignation ou prix n'existe pas ca plante).

j'ai une dizaine de test comme celui la (col a col10)

comment remédier a cela? si find valeur existe peut être...

Sub CopyToColonneY()

col = Range("A1:X1").Find("ref").Column

Columns(col).Copy Destination:=Columns("Y:Y")

col2 = Range("A1:X1").Find("designation").Column

Columns(col2).Copy Destination:=Columns("Z:Z")

col3 = Range("A1:X1").Find("prix").Column

Columns(col3).Copy Destination:=Columns("AA:AA")

End Sub

Merci.

bonjour a tous,

voici mon code :

public range_sz_pack as range
range_sz_pack = range("a1","h250")
range_sz_pack.Find(variables.no_table).Select

mais sauf que quand j'exécute le code ca me met le message d'erreur suivant :

annotation 2019 12 27 143048

je suis bloqué dessus j'ai un peu essayer tout ce que j'ai pu trouver sur le net mais voila sans sucée...

quelqu'un a une idée ?

en vous remerciant d'avance.

Bonjour,

Je n'arrive pas à faire un Find avec un critère de comparaison strict de type a > valeur ou type a< valeur ou non strict a <= valeur ou a >= valeur. Je n'ai trouvé que des exemples avec des égalités. Or je souhaite pouvoir récupérer dans un classeur toutes les cellules dont le montant est supérieur ou inférieur à une valeur donnée.

En vous remerciant d'avance pour votre aide.

Bonjour à tous,

Débutant VBA, je souhaite utiliser une boucle de type cells(i , j)

ou i est une boucle simple type i = i + 1

et j la colonne ou se trouve un certain mot dans la feuille 2

voici l'idée très simple que je souhaite:

Sub copie_données()

Dim i As Integer
Dim j As Integer

i = 2
' j = récupérer numéro de colonne de la feuille 2 ou se trouve le mot "PAIRE" (le mot en question sera toujours sur la ligne (A1:Z1))

While i < 50

Sheets(1).Cells(i, 1) = Sheets(2).Cells(i, j)

Wend

i = i + 1

End Sub

j'ai bien trouvé des exemples de la fonction find, mais je n'arrive pas à l'appliquer, je n'arrive pas à réutiliser ensuite ma variable sous forme cells (i , j).

Auriez vous une solution?

Merci d'avance pour votre aide.

Bonsoir,

Je suis en train de réaliser un programme permettant de faire l'appel des élèves dans un établissement scolaire (pas d'ENT traditionnel car c'est une école à l'intérieur d'un hôpital). Je suis professeure d'EPS et pas du tout programmeuse même si ça m'amuse

Je suis actuellement bloquée sur la fonction find. Je souhaiterais que lorsque les enseignants enregistrent l'appel (en appuyant sur le bouton) l'ensemble des données rentrées soient collés dans une autre feuille. Jusque là pas de soucis. Par contre je n'arrive pas à organiser les données. Je souhaiterais que les date soient rangées dans l'ordre (le plus récent en haut) et quelles n'apparaissent qu'une fois (d'où la fonction find). A côté les heures de la même journée seraient rangées du matin jusqu'au soir et les cellules plus loin mettraient le nom des élèves et s'ils étaient présent ou non.

Je me trouve coincé avec la fonction find. Au cours des nombreuses modifications que j'ai pu faire la seule chose que j'ai pu obtenir c'est que la fonction me renvoi "nothing" alors que la date était bien présente.

Je vous joint mon fichier. La feuille "Appel_6e" est celle où les enseignants font l'appel et la feuille "Taux_de_presence_6e" celle où les informations sont enregistrées au fur et à mesure. J'ai crée plusieurs boutons pour faire des tests mais celui où il y a la fonction find est le bouton 4 nommé "Date".

Vous m'avez été d'une grande aide en lisant de nombreux postes que j'ai adaptés à ma situation mais là je n'ai rien trouvé de similaire. Si quelqu'un peut m'aider à comprendre ce qu'il faut changer se serait top !

Bonjour à tous,

Je ne sais pas trop comment vous faire comprendre mon problème...

En fait j'ai la méthode find ci-dessous:

Valeur_Cherchee = Left(Feuil1.Cells(i, 2).Value, 5)
   Set Plage = Feuil1.Range(Cells(1, 10), Cells(Dlig2, 15))
    Set Trouve = Plage.Cells.Find(what:=Valeur_Cherchee, lookAT:=xlWhole)
     If Trouve Is Nothing Then

Elle me renvoie "Nothing" si la valeur-cherchée n'existe pas dans la plage. mais pour trouver la valeur cherché il faut que la cellule contient uniquement cette valeur. moi je voudrais savoir s'il ya un moyen de réécrire la méthode pour que si une cellule de la palge contient la valeur recherchée en plus d'autre caractère qu'elle renvoie quand même l'information comme quoi la valeur à été trouvée (Not Nothing).

Exemple: valeur cherchée = 2732-

Une cellule dans la plage contient =2732-4000, ma méthode renvoie "Not nothing"

J'espère que j'ai été assez clair(e).

En vous remerciant d'avance

Recherches récentes

verouiller colonneregressionequivmacro lentesignet word via vbachangement textboxchangement textbox boucleplanning grantgrantimprimer pdf via vbamise forme conditionnellecharge planningplanning injectionplanification injectiongraphiqueplanificationtype definierreur compilation type definimacro effacer formatfacture pdf