eastpeople
Messages postés105Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 novembre 2008
-
29 mai 2008 à 15:48
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
3 juin 2008 à 20:40
Bonjour,
Je reposte un message car j'ai de nouveau un problème sur un de mes codes.
J'ai un textebox où on rentre des activités puis quand on valide elle se met dans excel et quand on veut en rentrer une autre, il faut qu'elle se mette en dessous de celle qui est déja inscrite.
Voila mon code:
Private Sub ok_click()
Dim Ws As Worksheet
Dim Ligne As Integer
Set Ws = Sheets("abonnements")
Ligne = Ws.Range("A2").End(xlDown).Row + 1
rep = MsgBox("Voulez-vous rentrer une autre activité ?", _
vbYesNo + vbQuestion, "Programmer une autre activité ?")
If rep = vbYes Then
ADM.Show
End If
End Sub
Avec ce code ma premiere activité se met dans A8 et la suivante recouvre la première et je ne sais pas pourquoi.
Merci de m'aider.
Bonne journée à tous.
eastpeople
Messages postés105Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 novembre 2008 29 mai 2008 à 18:46
Merci à tous de votre aide ça marche.
J'ai une autre questoin si c'est possible
J'ai une liste déroulante, j'ai farfouillé dans le forum mais ça ne marche pas.
J'ai des valeurs sur excel de la A2 à A16 mais ces cases ne sont pas foécement toutes remplies et le problème c'est que sur ma liste déroulant j'ai les valaurs mais du vide aussi.
Voila mon code que j'ai trouvé sur le forum mais je pense qu'il y a un problème
Private Sub type_dact_Change()
type_dact.RowSource = "abonnements!A14:A" & DerniereLigne
End Sub
Private Sub type_dact_Initialize()
Dim DerniereLigne As Integer
DerniereLigne = Range("A2").End(xlUp).Row
End Sub
Voila si quelqu'un peut m'aider cela serai simpa
Merci deja pour ce que vous avez fait pour moi.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 29 mai 2008 à 18:48
Et que se passe t il avec ton Find si tu as une case vide au milieu de tes données ?
>> Bah t'es piné. Ca va t'écraser d'autres données.
Et ouais, j'avais fait il y a quelques temps pour le boulot un fichier, mais je ne vérifiais pas la saisie des TextBox (pas bien, je sais ) Dès fois, mes [blaireaux de] collègues, ne mettaient rien dans certains TextBox, mais cela m'occasionnait ce genre de problème.
Bon, j'ai beau maintenant vérifier la saisie et le format tapé, j'ai souvent pris l'habitude de partir d'en bas, et depuis la cellule.
Et juste pour le fun ;)
Option Explicit
Sub qknkls()
Dim i As Integer
For i = 1 To 10000
Cells(i, 1).Value = i
Next i
End Sub
Sub wfjsjkm()
Dim tata As Single
Dim derligne As Integer
eastpeople
Messages postés105Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 novembre 2008 29 mai 2008 à 18:55
Heu c'est la réponse à ma question???Lol
Je crois pas mais je pose quand m^me la question. Tu viens de me redire des solutions pour ma première question non?
Merci quand même
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 29 mai 2008 à 18:59
EastPeople :
oui, je réponds à ta question avec la boucle for to next. Je ne sais pas comment fonctionne la méthode RowSource, au mieux elle boucle sur les objets (for each, contrairement à mon for to next qui est moins rapide).
Mais le code proposé sert à identifier les cellules vides afin de ne pas les ajouter dans ton CoboBox
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 29 mai 2008 à 19:04
Initialize.
Cet évènement n'est lancée que lors du lancement de ton UserForm, donc dès le chargement de celui-ci, ce code va t'alimenter le ComboBox de tes données contenues dans les cellules.
eastpeople
Messages postés105Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 novembre 2008 29 mai 2008 à 19:18
Alors j'ai donc mis ça :
Private Sub type_dact_Initialize()
Dim i As Integer
For i = 14 To DerniereLigne
If Range("A" & i).Value <> vbNullString Then
type_dact.AddItem Range("A" & i).Value
End If
Next i
End Sub
Mais cela ne marche pas!
Peut-être parce que c'est moi même qui est marqué Initialize? il 'est pas dans les possiblités en haut à droite.
Desolée chui vraiment nulle.
eastpeople
Messages postés105Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 novembre 2008 29 mai 2008 à 19:22
Alors j'ai donc mis ça :
Private Sub type_dact_Initialize()
Dim i As Integer
For i = 14 To DerniereLigne
If Range("A" & i).Value <> vbNullString Then
type_dact.AddItem Range("A" & i).Value
End If
Next i
End Sub
Mais cela ne marche pas!
Peut-être parce que c'est moi même qui est marqué Initialize? il 'est pas dans les possiblités en haut à droite.
Desolée chui vraiment nulle.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 29 mai 2008 à 19:24
Si ton ComboBox est dans un UserForm, c'est dans l'évènement Initialize de ce UserForm qu'il faut le placer.
Si c'est un Combo placé sur une feuille Excel, place le dans WorkBook_Open()
eastpeople
Messages postés105Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 novembre 2008 29 mai 2008 à 19:24
Alors j'ai donc mis ça :
Private Sub type_dact_Initialize()
Dim i As Integer
For i = 14 To DerniereLigne
If Range("A" & i).Value <> vbNullString Then
type_dact.AddItem Range("A" & i).Value
End If
Next i
End Sub
Mais cela ne marche pas!
Peut-être parce que c'est moi même qui est marqué Initialize? il 'est pas dans les possiblités en haut à droite.
Desolée chui vraiment nulle.