Soucis Range et Cells [VBA Excel 2003]
Résolu/Fermé
Thaxou
Messages postés
8
Date d'inscription
dimanche 5 septembre 2010
Statut
Membre
Dernière intervention
7 septembre 2010
-
5 sept. 2010 à 18:52
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 - 6 sept. 2010 à 21:17
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 - 6 sept. 2010 à 21:17
A voir également:
- Soucis Range et Cells [VBA Excel 2003]
- Si et excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Déplacer une colonne excel - Guide
8 réponses
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
950
Modifié par Mytå le 5/09/2010 à 19:05
Modifié par Mytå le 5/09/2010 à 19:05
Salut le forum
Pour remplir la dernière ligne vide de la Colonne A
Mytå
Merci de donner suite à votre question, nous ne sommes pas des robots...
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
Pour remplir la dernière ligne vide de la Colonne A
Range("A" & Range("A65536").End(xlUp).Row + 1) = Me.Ta_TextBox
Mytå
Merci de donner suite à votre question, nous ne sommes pas des robots...
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
Thaxou
Messages postés
8
Date d'inscription
dimanche 5 septembre 2010
Statut
Membre
Dernière intervention
7 septembre 2010
5 sept. 2010 à 20:12
5 sept. 2010 à 20:12
Salut Mytå,
Si j'ajoute ton bout de code, la case A1 est toujours quand je clique sur ajouter. J'ai pourtant bien changer ce qui devait l'être :
Peut être je oublier de déclarer quelque chose? Ou tout simplement que je zappe un truc important aussi :p
Si j'ajoute ton bout de code, la case A1 est toujours quand je clique sur ajouter. J'ai pourtant bien changer ce qui devait l'être :
Private Sub AjouterNouvelleChambreFroide_Click() Dim Valeur_Epaisseur_Parois As String Range("D" & Range("D65536").End(xlUp).Row + 1) = Me.Valeur_Epaisseur_Parois End Sub
Peut être je oublier de déclarer quelque chose? Ou tout simplement que je zappe un truc important aussi :p
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
950
5 sept. 2010 à 20:41
5 sept. 2010 à 20:41
Re le forum
Valeur_Epaisseur_Parois est vraiment le nom de ta TextBox ?
Mytå
Valeur_Epaisseur_Parois est vraiment le nom de ta TextBox ?
Mytå
Thaxou
Messages postés
8
Date d'inscription
dimanche 5 septembre 2010
Statut
Membre
Dernière intervention
7 septembre 2010
Modifié par Thaxou le 5/09/2010 à 21:13
Modifié par Thaxou le 5/09/2010 à 21:13
Re,
Pour aider à mieux comprendre, voici le code que j'ai mis dans la textbox (zone ou l'utilisateur peut taper sa valeur dans l'user form que j'ai créer) :
Il y a sans doute encore des améliorations à faire mais la dedans, l'utilisateur ne peut entre que des chiffres (entiers ou non) positifs. Je me trompe sur toute la ligne ou bien? Désolé de poser des questions comme ça mais j'ai réellement du mal avec ce langage.
Merci pour le réponses.
Pour aider à mieux comprendre, voici le code que j'ai mis dans la textbox (zone ou l'utilisateur peut taper sa valeur dans l'user form que j'ai créer) :
Private Sub Valeur_Epaisseur_Parois_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Dim strCaractereEnCoursA As String Dim booEffacerResultat As Boolean On Error GoTo TraiterErreur strCaractereEnCoursA = Chr(KeyAscii) If strCaractereEnCoursA = "." Then strCaractereEnCoursA = "," End If If IsNumeric(strCaractereEnCoursA) Or strCaractereEnCoursA = "," Then If booEffacerResultat Then Valeur_Epaisseur_Parois = "" booEffacerResultat = False End If Valeur_Epaisseur_Parois = Valeur_Epaisseur_Parois & strCaractereEnCoursA ElseIf KeyAscii = 8 Then 'Test si BackSpace Valeur_Epaisseur_Parois = Left(Valeur_Epaisseur_Parois, Len(Valeur_Epaisseur_Parois) - 1) End If KeyAscii = 0 Valeur_Epaisseur_Parois.SetFocus Exit Sub TraiterErreur: MsgBox ("Erreur " & Error(Err.Number)) End Sub
Il y a sans doute encore des améliorations à faire mais la dedans, l'utilisateur ne peut entre que des chiffres (entiers ou non) positifs. Je me trompe sur toute la ligne ou bien? Désolé de poser des questions comme ça mais j'ai réellement du mal avec ce langage.
Merci pour le réponses.
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
950
5 sept. 2010 à 22:00
5 sept. 2010 à 22:00
Re le forum
Sans voir ton programme, je te propose ceci
Le fichier : Thaxou.xls
Il te suffit d'adapter à ton application
Mytå
Sans voir ton programme, je te propose ceci
Le fichier : Thaxou.xls
Il te suffit d'adapter à ton application
Mytå
Thaxou
Messages postés
8
Date d'inscription
dimanche 5 septembre 2010
Statut
Membre
Dernière intervention
7 septembre 2010
5 sept. 2010 à 22:15
5 sept. 2010 à 22:15
Eh bien punaise, sans vouloir être grossier, je suis sur le c** là. C'est bien ce que je cherchais comme solution. Comme quoi, à vouloir me débrouiller tout seul, j'ai encore énormément à apprendre dans ce langage.
Maintenant, il ne me reste plus que à l'ajouter à mon programme, adapter en fonction de mes besoins et le tour sera joué. Encore un gros merci à toi.
Bonne fin de soirée.
P.S : et en deux secondes, existe il une solution simple pour éviter que l'utilisateur puisse mettre plusieurs fois la virgule? Parce que par exemple : taper "45,546,7,575,75,5," pour un calcul de surface, ça m'aidera pas lol. Si ce n'est pas réalisable, ce n'est pas grave du tout.
Maintenant, il ne me reste plus que à l'ajouter à mon programme, adapter en fonction de mes besoins et le tour sera joué. Encore un gros merci à toi.
Bonne fin de soirée.
P.S : et en deux secondes, existe il une solution simple pour éviter que l'utilisateur puisse mettre plusieurs fois la virgule? Parce que par exemple : taper "45,546,7,575,75,5," pour un calcul de surface, ça m'aidera pas lol. Si ce n'est pas réalisable, ce n'est pas grave du tout.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
950
5 sept. 2010 à 22:47
5 sept. 2010 à 22:47
Re le forum
Pour interdire d'avoir plus d'une virgule dans la TextBox
Mytå
Pour interdire d'avoir plus d'une virgule dans la TextBox
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If Not ((KeyAscii >= 48 And KeyAscii <= 57) Or KeyAscii = 8 Or KeyAscii = 44 Or KeyAscii = 46) Then KeyAscii = 0 'on annule la pression sur la touche Else If KeyAscii = 46 Then KeyAscii = 44 If (KeyAscii = 44 Or KeyAscii = 46) And InStr(TextBox1, ",") > 1 Then KeyAscii = 0 End If End Sub
Mytå
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
950
Modifié par Mytå le 5/09/2010 à 22:59
Modifié par Mytå le 5/09/2010 à 22:59
Re le forum
Une autre façon de contourner le problème
Mytå
Merci de donner suite à votre question, nous ne sommes pas des robots...
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
Une autre façon de contourner le problème
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii = 46 Then KeyAscii = 44 If InStr("1234567890,", Chr(KeyAscii)) = 0 _ Or InStr(TextBox1.Value, ",") <> 0 _ And Chr(KeyAscii) = "," Then KeyAscii = 0: Beep End Sub
Mytå
Merci de donner suite à votre question, nous ne sommes pas des robots...
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
Thaxou
Messages postés
8
Date d'inscription
dimanche 5 septembre 2010
Statut
Membre
Dernière intervention
7 septembre 2010
6 sept. 2010 à 11:59
6 sept. 2010 à 11:59
Je te remercie à nouveau Mytå pour ton aide.
Afin de fignoler mon "projet", je suis en train d'essayer d'adapter directement les valeurs que l'utilisateur rentre aux tableaux que mon entreprise possède actuellement (je n'en suis pas l'auteur).
Si par exemple, je souhaite ajouter ma valeur de la textbox en case C6 du tableau, ça je sais. Mais si la case C6 est déjà utilisée, il faudrait en fait que ma valeur soit transférer 11 cases plus bas, c'est à dire C17. Si C17 est occupée, ma valeur en C28. Etc...
J'essaye avec l'outil Offset(1, 0), mais j'avoue avoir du mal. Peut être aurait tu une ruse pour résoudre mon problème?
Encore un grand merci (et j'espère ne pas abuser de ta gentillesse :D)
Thaxou
Afin de fignoler mon "projet", je suis en train d'essayer d'adapter directement les valeurs que l'utilisateur rentre aux tableaux que mon entreprise possède actuellement (je n'en suis pas l'auteur).
Si par exemple, je souhaite ajouter ma valeur de la textbox en case C6 du tableau, ça je sais. Mais si la case C6 est déjà utilisée, il faudrait en fait que ma valeur soit transférer 11 cases plus bas, c'est à dire C17. Si C17 est occupée, ma valeur en C28. Etc...
J'essaye avec l'outil Offset(1, 0), mais j'avoue avoir du mal. Peut être aurait tu une ruse pour résoudre mon problème?
Encore un grand merci (et j'espère ne pas abuser de ta gentillesse :D)
Thaxou
Thaxou
Messages postés
8
Date d'inscription
dimanche 5 septembre 2010
Statut
Membre
Dernière intervention
7 septembre 2010
6 sept. 2010 à 21:10
6 sept. 2010 à 21:10
J'ai réussi à contourner le problème. Merci à tous et surtout à Mytå qui m'a grandement aider :D
Bonne soirée à tout le monde.
Bonne soirée à tout le monde.
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
950
6 sept. 2010 à 21:17
6 sept. 2010 à 21:17
Re le forum
Bien heureux que ton problème soit solutionné.
A une prochaine
Mytå
Bien heureux que ton problème soit solutionné.
A une prochaine
Mytå