Recherche des feuils

Bonjour à tous,

Dans mon projet je suis confronté à une recherche de "feuil en VBA.

Ne voulant pas répéter 10 fois ou 20 fois Combobox1 à Combobox20 "If Combobox1="Journée 1 à Journée 20" then.

Je voudrai faire une variable qui me permet de choisir la journée pour que l'Adversaire s'affixhe automatiquement.

Voici mon code

Private Sub ComboBox2_Change()

Dim Adv As Integer

If ComboBox1 = "Journée, adv" Then

Dim lig As Long

With Sheets("Journée,adv")

lig = .Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row).Find(ComboBox2, SearchOrder:=xlByColumns).Row

TextBoxAdv = Cells(lig, 2) 'Nom

End With

End If

End Sub

Je ne sais pas si j'étais assez explicite.

Quelqu'un aurait-il la solution pour m'aider à résoudre cette egnime.

Merci d'avance

Amicalement

Noel

Bonjour

Plus de 1100 messages et toujours pas de fichier joint

A tester

Private Sub ComboBox2_Change()
Dim Adv As Integer
Dim Lig As Long

  If Me.ComboBox1.ListIndex = -1 Then Exit Sub
  With Sheets(Me.ComboBox1.Value)
    Lig = .Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row).Find(ComboBox2, SearchOrder:=xlByColumns).Row
    TextBoxAdv = Cells(Lig, 2)  'Nom
  End With
End Sub

Bonjour Bonzaï,

Je suis désolé pour le fichier. je ne me rappelle plus du poids que doit avoir pour joindre un fichier. Se serait bien de me le rappeler.

Je te remercie pour le code je vais l'essayer et je te tiendrai au courant.

@+

Amicalement

Noel

Bonjour

Pensez à joindre un fichier pour faciliter la compréhension du problème et augmenter les chances de vous faire aider (taille limite : 300ko, n'hésitez pas à compresser vos fichiers).

Tout ça tu le trouves ici https://forum.excel-pratique.com/annonces/explications-et-regles-a-respecter-t13.html

Si tu dépasses cette taille tu as cjoint (entre autres) http://cjoint.com/index.php

Re,

Mon cher Banzaï,

Je te joints le fichier. Je sais c'est une usine à gaz. Tout d'abord les fichiers images sont dans mon dossier utilisateur donc tu auras un fichier sans images. Le principal c'est d'avoir les codes VBA.

Le bout de code que tu m'as fourni ne me donne pas le résultat escompté.

Je désirerai lorsque je sélectionne la journée dans TextBox1 et en fonction de cette sélection il sélectionne la feuil concernée dans le frame1 le combobox2 me donne dans le menu déroulant la liste de la colonne "A" de la feuille sélectionnée pour que je puisse entrer les résultats de la rencontre.

Bien sure cette demande c'est pour m'éviter de répéter des codes pour chaque feuille.

J'emprofite au passage de remercier Heso4 pour l’algorithme du tirage championnat.

Je te remercie d'avance de l'aide que tu vas m'apporter.

@+

Amicalement

Noel

Bonjour

Pour débuter

Bonjour à tous

Bonjour Banzaï,

Bien reçu le fichier, il fonctionne.

Mais j'ai un petit souci lors de la fermeture du frame par l'image "Quitter" il ne me vide pas le combobox2 donc quand je sélectionne une autre "Journée" ce dernier cumule par 2 fois la liste des noms dans le menu déroulant.

Et si je vide le combobox2 lors de la fermeture il me donne une erreur.

Je pense qu'il faut un "On Error goto ???" dont je n'ai pas l'habitude de l'utiliser afin de m'éviter l'erreur tel que "Variable objet ou variable de bloc With non définie"

Pourras-tu m'expliquer d'une manière détaillée cette fonction "On Error"

Merci d'avance de ton dévouement

Amicalement

Noel

Bonjour

Au lieu de le vider à la fermeture il faut le vider avant de le remplir

  Dim I As Integer
  Me.ComboBox2.Clear
  With ActiveSheet
    For I = 2 To .Range("A" & Rows.Count).End(xlUp).Row
      Me.ComboBox2.AddItem .Range("A" & I)
    Next I
  End With

Du coup pas besoin de On Error Resume Next

Du coup pas besoin de t'expliquer qu'avec cette instruction tu peux t'affranchir de tous tests, la macro continuera à se dérouler comme de rien

Exemple : La page "Toto" n'existant pas, tu peux faire Sheets("Toto").Select sans déclencher d'erreur

Regardes l'aide

Re,

Je en pensais pas avoir une réponse aussi rapide.

Je pense que tu résides en métropole si c'est le cas le fuseau horaire est de -2H00 cel veut dire qu'il 3H37.

Je sais je suis réveillé depuis 4H00 et comme tu as du voir je réside à 'ile de la Réunion.

Je n'ai pas essayer encore le code mais cela ne s'aurait tarder.

Je te tiendrai au courant de l'avancement.

Merci

@+

Amicalement

Noel


re,

Mais je ne sais pas où placer ce code :

Dim I As Integer
  Me.ComboBox2.Clear
  With ActiveSheet
    For I = 2 To .Range("A" & Rows.Count).End(xlUp).Row
      Me.ComboBox2.AddItem .Range("A" & I)
    Next I
  End With

@+

Amicalement

Noel

Bonjour

Oui je suis en métropole dans un petit village (du côté des Pyrénées) sur une carte cherches Pau et moi je suis juste en dessous

Et il est 04h18

cfn3cfn a écrit :

Mais je ne sais pas où placer ce code :

A la place de l'autre (normalement tu n'as que la ligne surlignée à rajouter

C'est dans la procédure Private Sub CommandButton2_Click(),recherches ces lignes

    Dim I As Integer
With ActiveSheet
    For I = 2 To .Range("A" & Rows.Count).End(xlUp).Row
      Me.ComboBox2.AddItem .Range("A" & I)
    Next I
  End With

et tu places la ligne surlignée en dessous du Dim

Moi je vais

Re,

Ou la la tu es près de la frontière espagnole. Attention à Ebola

Je suis dans le sud de la Réunion on dirait dans le Sud Sauvage où la côte est inhospitalière mais à 15' d'une plage de sable blond à Saint Pierre. Si jamais tu décides de venir à la Réunion dis moi j'organiserai ton séjour bien sure tout est gratuit tu seras logé à la maison.

J'avais essayé ça cela me donne toujours l'erreur à la ligne:

Lig = .Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row).Find(ComboBox2, SearchOrder:=xlByColumns).Row

de combobox2.

@+

Noel

Bonjour

C'est un nouveau problème

Le plus simple c'est de fournir le fichier en cause en détaillant les opérations à faire pour arriver au plantage

Je viens de tester avec celui que j'ai et je n'ai pas de soucis

Re,

J'étais absent toute la journée. J'avais un RDV chez l'ophtalmo,désolé de te répondre que maintenant.

Lors de l'ouverture de l'USF Accueil on sélectionne une journée, on clique le CommandButton2 Saisie des scores la frame s'ouvre avec le combobox2, textboxadv et quelques textbox pour entrer les scores. Selon le choix de la combobox1, le combobox 2 me donne exactement la liste contenu dans la feuille choisi au combobox1. En sélectionnant un nom du combobox2 il me donne toujours le bon résultat avec le remplissage du tetxboxadv (Adversaire). Puis on clique sur le bouton "quitter la saisie" qui referme la frame, delà on a accès au combobox1 d'ou resélectionne une journée puis sur Saisie des scores. De là commence le problème. Il garde en mémoire les anciens contenu du combobox2 ainsi que le textboxadv et quand on veut sélectionner un nom dans la liste la première partie de l'ancienne feuille+la liste la feuille sélectionnée. Donc ce cas au lieu d'avoir 8 personnes j'en ai 16 noms. Qui plus est si on efface le nom dans le combobox2 c'est de là qu'il se plante avec l'erreur citée plus haut.

Je te joins le fichier.

Merci pour ton aide

@+

Amicalement

Noel

Bonjour

Il faut faire les corrections que je te dis

Fait dans le fichier

Ré,

Banzaï,

Avec la version 002 Je suis désolé j'ai toujours le message d'erreur à la ligne vue plus haut.

La cause viendrai pas de la version excel 2003?

Je travaille essentiellement sur 2003.

@+

Amicalement

Noel

Bonjour

Vérifies cette version (modification dans la procédure Private Sub ComboBox2_Change() )

Je travaille avec XL 2003 sur ce fichier

Re

Je viens de passer à l'essai ça fonctionne.J'ai vu que tu as mis Textbox adv="" ce qui me manquait dans le bouton saisie des scores.

Je vais continuer à améliorer le dispositif et je te tiens informé.

Merci pour ton temps et ton dévouement.

@+ cher ami

Amicalement

Noel

Rechercher des sujets similaires à "recherche feuils"