Renseigner des colonnes depuis un formulaire et comparer valeurs
Résolu/Fermé
mifu
Messages postés
2
Date d'inscription
jeudi 11 décembre 2014
Statut
Membre
Dernière intervention
16 décembre 2014
-
11 déc. 2014 à 22:54
Mifu - 17 déc. 2014 à 15:59
Mifu - 17 déc. 2014 à 15:59
A voir également:
- Renseigner des colonnes depuis un formulaire et comparer valeurs
- Word colonnes indépendantes - Guide
- Figer des colonnes excel - Guide
- Comparer prix amazon - Guide
- Formulaire de réclamation facebook - Guide
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms. quel mot est formé par les 6 premières lettres de la colonne code ? - Forum Bureautique
4 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
11 déc. 2014 à 23:20
11 déc. 2014 à 23:20
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...
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
12 déc. 2014 à 23:16
12 déc. 2014 à 23:16
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!!!
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
13 déc. 2014 à 22:42
13 déc. 2014 à 22:42
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
mifu
Messages postés
2
Date d'inscription
jeudi 11 décembre 2014
Statut
Membre
Dernière intervention
16 décembre 2014
16 déc. 2014 à 22:51
16 déc. 2014 à 22:51
Merci Thau Theme, tu m'as depanné car ton code fonctionne à merveille. Vous êtes formidable ainsi que le forum!
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
12 déc. 2014 à 19:31
J'espère chers experts etre assez complet cette fois ci!
Merci!