Renseigner des colonnes depuis un formulaire et comparer valeurs
Résolu
mifu
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Mifu -
Mifu -
Merci d'avannce de votre aide!je sèche grave!!!
Voilà, mon problème est le suivant:
Je veux renseigner deux colonnes (A et B) dans une feuille excel depuis un formulaire et je veux qu'excel verifie si cette valeur que je rentre existe dans une plage de valeur que j'ai defini au préalable, si oui il renvoie la valeur dans la colonne A et sinon, dans la colonne B par exemple.
Merci encore de me repondre vite svp!!!
Voilà, mon problème est le suivant:
Je veux renseigner deux colonnes (A et B) dans une feuille excel depuis un formulaire et je veux qu'excel verifie si cette valeur que je rentre existe dans une plage de valeur que j'ai defini au préalable, si oui il renvoie la valeur dans la colonne A et sinon, dans la colonne B par exemple.
Merci encore de me repondre vite svp!!!
A voir également:
- Renseigner des colonnes depuis un formulaire et comparer valeurs
- Whatsapp formulaire opposition - Guide
- Comment faire des colonnes sur word - Guide
- Formulaire de réclamation facebook - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Formulaire de reclamation instagram - Guide
4 réponses
Bonsoir Mifu, bonsoir le forum,
Explications assez vagues... Formulaire ? Est-ce une UserForm ? Avec une textbox et un CommandButton pour envoyer les données vers le tableau ? En plus il te faut ça vite !
Ben tiens alors :
tu adapteras...
Explications assez vagues... Formulaire ? Est-ce une UserForm ? Avec une textbox et un CommandButton pour envoyer les données vers le tableau ? En plus il te faut ça vite !
Ben tiens alors :
Private Sub CommandButton1_Click() Dim O As Object 'déclare la variable O (Onglet) Dim PL As Range 'déclare la variable PL (PLage) Dim R As Range 'déclare la variable R (Recherche) Set O = Sheets("Feui1") 'définit l'onglet O (à adapter) Set PL = Sheets("Feuil2").Range("A1:A100") 'définit la palge PL (à adapter) Set R = PL.Find(Me.TextBox1.Value, , xlValues, xlWhole) 'définit la recherche R If R Is Nothing Then 'condition : si aucune occurrence n'est trouvé dans la plage PL 'renvoie la valeur de la TextBox1 dans la première cellule vide de la colonne 1 (=A) O.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = Me.TextBox1.Value Else 'sinon 'renvoie la valeur de la TextBox1 dans la première cellule vide de la colonne 2 (=B) O.Cells(Application.Rows.Count, 2).End(xlUp).Offset(1, 0).Value = Me.TextBox1.Value End If End Sub
tu adapteras...
Bonsoir Mifu, bonsoir le forum,
Il me semble que c'est, à peu de choses près, le code que je t'ai proposé. Tu aurais perdu moins de temps à le tester qu'à nous faire ton petit laïus...
Il me semble que c'est, à peu de choses près, le code que je t'ai proposé. Tu aurais perdu moins de temps à le tester qu'à nous faire ton petit laïus...
Dac Thau Theme tout à fait raison. J'ai essayé ton code il marche à merveille, merci. Mais j'ai un autre souci : c'est que d'abord je m'excuse, je n'ai pas su exprimer clairement mes idées. En fait je dispose d'un tableau à 3 colonnes avec la première colonne pour entrer le nom donc mon userform à 2 textbox, maintenant les deux colonnes recoivent les num de tel. Ce que je veux c'est que pour un même nom les numero que je rentre dans l'autre textbox doivent etre sur la meme ligne que ce nom de sorte à avoir la liste des numero pour ce Monsieur. Ton code il renvoie à la première cellule vide ce qui me donne un nom par exemple à la ligne 5 et son numero correspondant se trouve dans l'autre colonne à la ligne 2 alors que je dois avoir ses numeros correspondant à partir de la ligne 5 vers le bas.
Merci de me faire encor ton coup de génie. Vous êtes formidables.
En attente vivement de reponses!!!
Merci de me faire encor ton coup de génie. Vous êtes formidables.
En attente vivement de reponses!!!
Bonsoir Mifu, bonsoir le forum,
Si j'ai bien compris, essaie comme ça :
Si j'ai bien compris, essaie comme ça :
Private Sub CommandButton1_Click() Dim O As Object 'déclare la variable O (Onglet) Dim DEST As Range 'déclare la variable DEST (cellule de DESTination) Dim PL As Range 'déclare la variable PL (PLage) Dim R As Range 'déclare la variable R (Recherche) Set O = Sheets("Feui1") 'définit l'onglet O (à adapter) 'définit la cellue de destination DEST, première cellue vide de la colonne 1 (=A) de l'onglet O Set DEST = O.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0) Set PL = Sheets("Feuil2").Range("A1:A100") 'définit la palge PL (à adapter) DEST.Value = Me.textbox1.Value 'renvoie le nom dans la cellule DEST Set R = PL.Find(Me.textbox2.Value, , xlValues, xlWhole) 'définit la recherche R If R Is Nothing Then 'condition : si aucune occurrence n'est trouvé dans la plage PL 'renvoie la valeur de la TextBox2 dans DEST décalée d'une colonne à droite (colonne B) DEST.Offset(0, 1).Value = Me.textbox2.Value Else 'sinon 'renvoie la valeur de la TextBox2 dans DEST décalée de deux colonnes à droite (colonne C) DEST.Offset(0, 2).Value = Me.textbox2.Value End If End Sub
Tant qu'on a des gens formidables comme Thau Theme pourquoi ne pas perfectionner plus son idée!!!Merci une fois de plus Thau Theme. Je sollicite encore une fois de plus ta gentillesse et d'ailleurs tous les bienfaiteurs de ce forum de votre aide. Desolé pour le laïus Thau Theme. Toujours dans le même ordre d'idée que ma précédente préoccupation à savoir de remplir les lignes de colonnes à travers un userform qui affecte automatiquement les valeurs entrées dans un textbox si ces dernières figurent dans une plage de données existante dans la feuille2 par exemple. Je me rends compte que j'ai beaucoup de données à rentrer, en fin des numéros de téléphones. Bon je dispose d'une plage :exemple la colonne A de la feuille 2 qui contient des numéros de téléphone (ma base de numéro) et dans B tous les numéros appelés d'ailleurs la plupart ne figurent pas dans la base de numéro et je voudrais que dans ma feuille1 quand je clique sur la commande exécuter, elle classe dans la colonne A de la feuille1 tous les numéros qui sont dans la base (c'est à dire présent dans la colonne A de la feuille 2) et en B tous ceux qui ne sont pas dans la base. Cela m'évitera de taper manuellement dans un userform plus de 1000numéros. Attention: les numéros sont classés à la suite des uns et autres.
Exemple: quand j'ai un numéro dans la ligne 1, le deuxième numéro se mettra dans la ligne 2 que ce soit dans la colonne A ou B
Exemple: quand j'ai un numéro dans la ligne 1, le deuxième numéro se mettra dans la ligne 2 que ce soit dans la colonne A ou B
J'espère chers experts etre assez complet cette fois ci!
Merci!