VBA Excel lecture de données dans Textbox

Fermé
onra - 15 juil. 2008 à 11:42
 onra - 17 juil. 2008 à 16:45
Bonjour,


Je cherceh à copier des valeurs d'une base de données vers des textbox d'un UserForm. et ensuite sous la condition que la textbox "OSFM" soit vide effacer la ligne copiée. J'ai donc écris les deux boucels suivantes, mais quand la ligne s'éfface , le contenu des textbox s'éfface aussi. Je ne trouve pas de dolutions, d'autant plus que j'aimerais garder ces deux évenements (la copie, et le delete de la ligne) dans le même sub.

Merci d'avance pour votre aide.

Ci dessous , le code:

Private Sub Actualiser_Click()
Dim Cell As Range
Dim h As Integer
Workbooks("Bdd").Worksheets("Bdd").Activate
For h = 3 To 1000
If Val(Cells(h, 3)) = Val(OSLot) Then
If Val(Cells(h, 20)) = Val(ChronoOS) Then
DatediffuOS.ControlSource = "U" & h
OSFM.ControlSource = "A" & h
OsIntitule.ControlSource = "V" & h
OSBât.ControlSource = "F" & h
OSEtage.ControlSource = "G" & h
OSOrigine.ControlSource = "W" & h
ApproMOA.ControlSource = "X" & h
ApproArchi.ControlSource = "Y" & h
ApproIng.ControlSource = "Z" & h
OSMontant.ControlSource = "AA" & h
ImpMOA.ControlSource = "AB" & h
ImpIng.ControlSource = "AC" & h
ImpArchi.ControlSource = "AD" & h
ImpAleas.ControlSource = "AE" & h
OSobs.ControlSource = "AG" & h
Exit For
End If
End If
Next h
MsgBox (h)
If OSFM = "" Then
Cells(h, 1).Select
Selection.EntireRow.Delete
Exit Sub
End If
End Sub
A voir également:

1 réponse

Bonjour,
Désolé, de reprendre un de mes vieux messages (qui a fait flop...) pour reposer une question, mais je n'arrive plus à envoyer de message directement (paraitrait que c le serveur de ma boite...).
Bref, là j'ai un problème de définition de variable:

J'ai un UserForm dans lequel est calculé une somme de 4 valeurs et la compare avec un montant. Il faut alors que cette somme soit égale au montant, sinon la procédure en cours est stoppée.
Les 4 valeurs proviennent d'un tableau Excel.
Quand ces 4 valeurs sont trop importantes, j'obtient une erreur qui est:
Erreur d'exécution 6
dépassement de capacité

et le débogage me renvoie sur cette fameuse somme:

SumImp = Str(Val(ImpMOA.Text) + Val(ImpIng.Text) + Val(ImpArchi.Text) + Val(ImpAleas.Text))

Je pense alors que ce sont les déclarations de variables en "String" qui déconne, mais je ne vois pas comment le changer.
C'st donc à ce moment que vous intervenez cher amis!!!!

Je pense peut être a déclarer mes variables en doubles, mais là je commence à tatonner...

Merci d'avanceBonjour,
Désolé, de reprendre un de mes vieux messages (qui a fait flop...) pour reposer une question, mais je n'arrive plus à envoyer de message directement (paraitrait que c le serveur de ma boite...).
Bref, là j'ai un problème de définition de variable:

J'ai un UserForm dans lequel est calculé une somme de 4 valeurs et la compare avec un montant. Il faut alors que cette somme soit égale au montant, sinon la procédure en cours est stoppée.
Les 4 valeurs proviennent d'un tableau Excel.
Quand ces 4 valeurs sont trop importantes, j'obtient une erreur qui est:
Erreur d'exécution 6
dépassement de capacité

et le débogage me renvoie sur cette fameuse somme:

SumImp = Str(Val(ImpMOA.Text) + Val(ImpIng.Text) + Val(ImpArchi.Text) + Val(ImpAleas.Text))

Je pense alors que ce sont les déclarations de variables en "String" qui déconne, mais je ne vois pas comment le changer.
C'st donc à ce moment que vous intervenez cher amis!!!!

Je pense peut être a déclarer mes variables en doubles, mais là je commence à tatonner...

Merci d'avance
1