indexation selective

binoute

XLDnaute Occasionnel
Bonjour a tous le forum,
je cherche à réaliser la fonction suivante sous vba :
si une cellule donnée dans un classeur x feuille x1 contient la lettre R, je remplis une liste d'un classeur y feuille y1.
si je maitrise le remplissage de la liste il n'en va pas de meme pour la formule de test conditionnel.
quelqu'un a t'il un exemple à me soumettre ?
merci d'avance à tous
 

binoute

XLDnaute Occasionnel
Re re hervé,
ce n'est pas 1 mais 2 fichiers pour le meme prix :)
pour résumer :
-le classeur 'affaire' est renseigné dans l'userform de départ
-le n° affaire peut avoir 3 suffixes differents : R,N,D
-lorsque le n° d'affaire comporte l'indice R, je souhaite remplir automatiquement le classeur 'planning' dans les colonnes A,B,C
avec les données contenues dans mon userform.
ce qui amene deux questions :
1) comment tester la textbox pour savoir quand elle contient un 'R' ?
2) comment empecher, si l'on valide plusieurs fois, de remplir plusieurs fois le classeur planning avec les memes données ?

si tu vois quelque chose pour dépanner
merci [file name=essai_20050413152457.zip size=38089]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/essai_20050413152457.zip[/file]

Message édité par: binoute, à: 13/04/2005 15:44
 

Pièces jointes

  • essai_20050413152457.zip
    37.2 KB · Affichages: 27

Hervé

XLDnaute Barbatruc
Salut binoute

Voici à quoi doit ressembler ta macro de bouton de validation de ton userform :

Private Sub validation_Click()
Dim i As Byte
Dim derligne As Integer
For i = 1 To Len(TextBox1)
If Mid(TextBox1, i, 1) = 'R' Then
With Workbooks('planning annuel essai.xls').Sheets('Feuil1')
derligne = .Range('a65536').End(xlUp).Row + 1
.Range('A' & derligne) = TextBox1
.Range('B' & derligne) = TextBox2
.Range('C' & derligne) = TextBox16
End With
End If
Next i
With Sheets('SUIVI AFFAIRE')
.Range('A3') = Me.TextBox2
.Range('D3') = Me.TextBox9
.Range('H3') = Me.TextBox16
.Range('F9') = Me.TextBox3
.Range('F8') = Me.TextBox5
.Range('F11') = Me.TextBox6
.Range('F12') = Me.TextBox7
.Range('F6') = Me.TextBox4
.Range('G1') = Me.TextBox1
End With
End Sub

Si quelque chose t'échappe, dis le moi je te l'expliquerai, mais là j'ai pas trop le temps. :)

La meilleur facon d'éviter les doublons de saisie via un userform, c'est, à mon avis, de vider les textbox après validation; ;)

Salut
 

binoute

XLDnaute Occasionnel
Salut hervé,
pas de probleme avec ta macro, ça fonctionne tres tres bien, et merci pour la variante de transfert des données, ça simplifie le code sérieusement.
merci pour tout et je l'espere à plus tard pour de nouvelles aventures :whistle:

salut
 

Discussions similaires

Statistiques des forums

Discussions
312 576
Messages
2 089 856
Membres
104 290
dernier inscrit
Beloumi3