Faciliter la lecture d'un formulaire Excel

Bonjour a tous,

j'ai un problème au niveau de mon tableau Excel, j'ai un immense tableau qui contient plusieurs feuils et chaque feuil contient plusieurs lignes et colonnes (fractionnées et fusionnées) qui sont constituées que des textes et aucun chiffre , ce que je veux c'est de faire une sorte de boite de dialogue afin de taper juste ce que je cherche et je n'aurais comme résultat que ce que je veux, quand je fais ça sur Visual basic je rencontre des problèmes :/. Aidez moi svp

Bonjour toutes et tous

on peut facilement adapter par une boîte de dialogue, un userform ...

-un exemple ci-joint on saisie du texte un mot dans la cellule B1 de la feuil1 on clique sur le bouton et affiche et sélectionne la cellule comprenant ce mot, si le mot recherché dans les onglets et inexistant rien ne se passe

ci-joint,

crdlt,

André

je vous remercie pour votre retour,

Est-ce-que svp vous pouvez m'orienter comment vous avez créer ce bouton?

ça reste une solution parmi d'autres , mais moi ce que j'essayais de faire c'est de créer un userform ou je tape un mot clé pour que le résultat s'affiche directement , est-il possible de faire ça?

' déclaration des variables

Dim colonne As Integer

Dim i As Integer, j As Integer

Private Sub Cbophaseactivité_Change()

'Initialisation des variables

i = 1

j = 39

j = 53

'on vide la liste déroulante des risques afin de ne pas cumuler les enregistrements

frmrecherche.Cborisque.Clear

'On retire les couleurs de remplissage des en-tetes

Sheets("feuil2").Range("a39,af39").Interior.ColorIndex = Clear

Sheets("feuil2").Range("a52,o52").Interior.ColorIndex = Clear

'on boucle pour récupérer chacun des risques de la phase d'activité sélectionné

Do While Cells(j, i).Value <> ""

'on test que l'unité de travail dans la liste déroulante soit identique

If Cells(j, i).Value = Cbophaseactivité.Value Then

'si oui

'on sélectionne la cellule de la phase d'activité

Cells(j, i).Select

'on y ajoute une couleur de remplissage

ActiveCell.Interior.ColorIndex = 32

'on récupère son positionnement par le numéro de la colonne

colonne = ActiveCell.Column

End If

i = i + 1 'on incrémente le numéro de colonne

Loop

'on boucle les lignes pour récupérer les risques de chaque unité

Do While Cells(j, colonne).Value <> ""

'On charge les risques dans la liste déroulante des phase d'activité

frmrecherche.Cborisque.AddItem Cells(j, colonne)

j = j + 1 'on incrémente le numéro de ligne

Loop

End Sub

Private Sub Cbounitédetravail_Change()

'initialisation des variables

i = 3

'on vide la liste déroulante des phase d'activité afin de ne pas cumuler les enregistrements

frmrecherche.Cbophaseactivité.Clear

'On retire les couleurs de remplissage des en-tetes

Sheets("feuil2").Range("c3,i3").Interior.ColorIndex = Clear

'on boucle pour récupérer chacunes des phase d'activité de l'ut sélectionné

Do While Cells(3, i).Value <> ""

'on test que l'unité de travail dans la liste déroulante soit identique

If Cells(3, i).Value = Cbounitédetravail.Value Then

'si oui

'on sélectionne la cellule de la région

Cells(3, i).Select

'on y ajoute une couleurde remplissage

ActiveCell.Interior.ColorIndex = 32

'on récupère son positionnement par le numéro de la colonne

colonne = ActiveCell.Column

End If

i = i + 1 'on incrémente le numéro de colonne

Loop

'on initialise à 3 le numéro de la ligne, la première phase d'activité se retrouve en ligne3

j = 3

'on boucle les lignes pour récupérer les phase d'aactivité de chaque unité

Do While Cells(j, colonne).Value <> ""

'On charge les phases d'activité dans la liste déroulante des phase d'activités

frmrecherche.Cbophaseactivité.AddItem Cells(j, colonne)

j = j + 1 'on incrémente le numéro de ligne

Loop

End Sub

'procédure permettant de charger les noms des unités de travail dans la première liste déroulante au chargement du formulaire

Private Sub UserForm_Initialize()

' initialisation des variables

colonne = 3 ' affectation du numéro de colonne à 3 car première donnée en colonne c

'on efface la couleur de remplissage des en-tetes de colonnes, ici les unités de travail

Sheets("feuil2").Range("c3:i3").Interior.ColorIndex = Clear

'on réalise une boucle qui va charger les noms des regions dans la liste

Do While Cells(3, colonne).Value <> ""

' tant qu'il ya des valeurs dans les colonnes

frmrecherche.Cbounitédetravail.AddItem Cells(3, colonne).Value

colonne = colonne + 1 ' On incrémente le numéro de colonne

Loop

End Sub

jusqu'à présent voilà mon code, celui en gras il ne fonctionne pas , l'idée en faite est de faire des listes déroulantes dépendantes mais comme au niveau de la partie écrite en gras j'ai plusieurs tableau a intégrer dedans je n'arrive pas m'en sortir.

je vous remercie par avance pur votre aide.

Merci

Bonjour toutes et tous

Heu pas trop expert dans la matière mais j'ai un doute sur ceci :

1/pour la déclaration de la variable colonne, je ne pense pas que cela soit bien déclaré en cas de doute :

Dim colonne

2/ déclaration de deux variables j et j pourquoi ne pas mettre i et j

i = 1

j = 39

j= 53 ???

3/ doute aussi ici

("a39,af39") ' la virgule ne serai-ce pas deux points ':' ou est-ce des valeurs distinctes ?

("a39:af39")

https://www.excel-pratique.com/fr/vba/selections.php

bonjour a tous,

alors je voulais dire par là , que j'ai mes donnée qui se retrouve a la ligne 39 , et un autre tableau qui se retrouve a ligne 53!

si non j'essaye de déchiffrer ce que vous m'avez donné comme réponse mais je n'arrive pas a faire la même chose que vous , je suis vraiment débutante la dessus :$

Bonjour,

sans fichier de travail peu de chance que tu aies beaucoup de réponse.

Quand tu colles un code, indente-le et utilise la balise </>. Parce que là c'est imbuvable.

eric

bonjour,

je suis du même avis que vous , mais malheureusement mon fichier est confidentiel donc je ne pourrai le diffuser :/ pour augmenter mes chances d'aboutir aux résultats :/

merci pour votre retour.

A partir du moment où tu l'anonymises il n'y a plus rien de confidentiel.

eric

bonjour a tous,

Voilà le type de formulaire que je voulais automatiser, sauf que le document original contient beaucoup d'onglets.

Bien cordialement .

14forum.xlsm (46.66 Ko)
Rechercher des sujets similaires à "faciliter lecture formulaire"