Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/12/2011, 16h33   #1
Invité de passage
 
Homme
Étudiant
Inscription : décembre 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Rwanda

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2011
Messages : 14
Points : 4
Points : 4
Par défaut utiliser un un seul textbox pour entrer les données dans differentes colonne

bonjour les amis,excuse moi avec beaucoup de questions je suis le debutant en VB.
menant j'ai une question concernant comment je peux entrer les données dans defferent colonnes dans l'excel sheet en utilisant seulement un seul textbox dans le userform en considarant les condition,si par exemple le mot se termine avec "er" doit se place dans la colonne A si se termine avec "tion" doit aller dans la colonne B ainsi de suite. voici ce que j'ai essayé de faire.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Private Sub cmdAdd_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("amajyi")
 
iRow = ws.Cells(Rows.Count, 1) _
  .End(xlUp).Offset(1, 0).Row
 
  If Right(txtkiny.Text, 3) = "umu" Or "umw" Then
  ws.Cells(iRow, 1).Value = Me.txtkiny.Value
  If Right(txtkiny.Text, 3) = "imi" Or "imy" Then
  ws.Cells(iRow, 3).Value = Me.txtkiny.Value
   If Right(txtkiny.Text, 3) = "iri" Or "iry" Then
   ws.Cells(iRow, 4).Value = Me.txtkiny.Value
   If Right(txtKinyiny.Text, 1) = "i" Then
   ws.Cells(iRow, 4).Value = Me.txtkiny.Value
    If Right(txtkiny.Text, 3) = "ama" Then
    ws.Cells(iRow, 5).Value = Me.txtkiny.Value
    If Right(txtkiny, 2).Value = "am" Then
    ws.Cells(iRow, 5).Value = Me.txtkiny.Value
     If Right(txtkiny.Text, 3) = "imi" Or "imy" Then
     ws.Cells(iRow, 6).Value = Me.txtkiny.Value
      If Right(txtkiny.Text, 3) = "iki" Or "icy" Or "igi" Then
      ws.Cells(iRow, 7).Value = Me.txtkiny.Value
       If Right(txtkiny.Text, 3) = "ibi" Or "ibyi" Then
       ws.Cells(iRow, 8).Value = Me.txtkiny.Value
        If Right(txtkiny.Text, 1) = "i" Then
        ws.Cells(iRow, 9).Value = Me.txtkiny.Value
         If Right(txtkiny.Text, 2) = "in" Then
         ws.Cells(iRow, 10).Value = Me.txtkiny.Value
        If Right(txtkiny.Text, 3) = "inz" Then
        ws.Cells(iRow, 10).Value = Me.txtkiny.Value
         If Right(txtkiny.Text, 3) = "uru" Or "urw" Then
         ws.Cells(iRow, 11).Value = Me.txtkiny.Value
         If Right(txtkiny.Text, 3) = "aka" Or "aga" Then
         ws.Cells(iRow, 12).Value = Me.txtkiny.Value
         If Right(txtkiny.Text, 2) = "ak" Then
           ws.Cells(iRow, 13).Value = Me.txtkiny.Value
         If Right(txtkiny.Text, 3) = "utu" Or "utw" Or "udu" Then
         ws.Cells(iRow, 14).Value = Me.txtkiny.Value
         If Right(txtkiny.Text, 3) = "ubu" Or "ubw" Then
         ws.Cells(iRow, 14).Value = Me.txtkiny.Value
         If Right(txtkiny.Text, 3) = "uku" Or "ukw" Or "ugu" Then
         ws.Cells(iRow, 15).Value = Me.txtkiny.Value
 
Me.txtkiny.Value = ""
 
End Sub
jeph.net est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2011, 17h47   #2
Modérateur
 
Avatar de AlainTech
 
Homme Alain Gerard
Consultant informatique
Inscription : mai 2005
Messages : 3 675
Détails du profil
Informations personnelles :
Nom : Homme Alain Gerard
Âge : 58
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : mai 2005
Messages : 3 675
Points : 7 665
Points : 7 665
Bonjour,

Déjà, aucun de tes If n'est fermé par un End If.

Ensuite, vu le nombre de conditions, il me semble que le Select Case serait plus approprié.
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
AlainTech est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2011, 19h24   #3
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut heu...!!!

bonjour


l'ideal dans ton cas serait de gerer un arraysur les colonnes , a la pression de la touche "enter" sur ton text box

exemple
principe

Code :
1
2
3
4
5
'achaque pression de la touche enter 
colonne=array("a1","a2","a3")
i=i+1
if i>3 then exit sub'on met cette condition pour eviter une erreur sachant que j'ai pris un array de depart de 3 cellule
range(colonne(i))=textbox1
ainsi tu tape ton text et une fois que tu tape enter ca remplila cellule nomme par l'array


au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h31.


 
 
 
 
Partenaires

Hébergement Web