Exemple de syntaxe
#1
Aspirant XLPages

Inscription: 05/10/2008

Messages: 24

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 01-11-2008 11h25
Bonjour, je cherche des exemples de syntaxe pour pouvoir determiner
les rowsource d'une listbox depuis des plages de cellules variables situées sur des
feuillles variables tout ça dans excel 2007
si quelqu'un comprend ma recherche merci de me repondre 
Hors Ligne
Rapport   Haut 

Re: Exemple de syntaxe
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 01-11-2008 17h51
Bonsoir spookiz, le Forum,

Tout d'abord, personnellement, je te déconseillerais fortement l'utilisation de la propriété RowSource de ta ListBox pour en définir son contenu.

L'utilisation de cette propriété RowSource (très facile à utiliser au premier abord) crée un lien entre la plage source et la ListBox, ce qui implique une dépendance de l'un envers l'autre... Ainsi, tu ne pourras plus supprimer une ligne de l'un ou l'autre sans alerte bloquante de VBA dans tes traitements. Par ailleurs, tu peux aussi rencontrer des problèmes si ta ListBox est affichée dans un Userform et si la plage de cellules source n'est pas comprise dans la feuille active au lancement du Userform...

Non, je te conseillerais plutôt d'utiliser la méthode Additem beaucoup plus souple à l'utilisation. Elle est aussi très simple à utiliser même si elle nécessite la mise en place d'une boucle.

Si la ListBox est contenue dans un Userform, le meilleur endroit pour traiter le chargement de cette ListBox est l'évènement UserForm_Initialize() dans le module de code de l'Userform en question.

Pour charger la ListBox des données contenues dans la plage "A1:A30" de la Feuil1, on peut faire par exemple comme ça :
Private Sub UserForm_Initialize()
Dim C As Range
    For Each C In Sheets("Feuil1").Range("A1:A30")
        ListBox1.AddItem C.Value
    Next C
End Sub

Sinon, il existe une autre façon de faire et qui permet d'éviter la boucle, on peut faire directement comme ça :
Private Sub UserForm_Initialize()
    ListBox1.List = Sheets("Feuil1").Range("A1:A30").Value
End Sub

Ceci est bien sûr valable quelque soit la feuille active au lancement du Userform.

Attention cependant, il n'y plus de lien avec les données sources. La modification de ces dernières directement dans la feuille par exemple, ne sera pas reflété automatiquement dans la ListBox (il te faudra recharger les éléments).

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Exemple de syntaxe
#3
Aspirant XLPages

Inscription: 05/10/2008

Messages: 24

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 02-11-2008 08h35
Bonjour myDearFRiend merci pour ton aide je cherche des exemples avec des variables aussi bien dans
les feuilles que dans les  adresses ou les ranges peut tu me dir aussi comment fonctionne
les end(xldown)pour les colonnes y at'il un moyen 

je met quelques lignes qui ne fonctionne pas

derlign = Sheets("Feuil2").Range("E5").End(xlDown).Row 'ceci fonctionne bien 
dercol = Sheets("Feuil2").Range("E5").End(xlDown).Column' comment faire pour la derniere colonne ??
plagelist = Sheets("Feuil2").Range("E5:F" & derlign).Address 'ceci fonctionne bien mais comment faire 
pour y integrer "dercol" une fois dercol fonctionel ??

je voudrais arriver a ce que un truc comme ça '.Range("E5:" & dercol & derlign)'  fonctionne si tu peut me filer des tuyaux
ou me diriger sur des tutos merci
Hors Ligne
Rapport   Haut 

Re: Exemple de syntaxe
#4
Accro XLPages

Inscription: 23/05/2007
De Chamrousse

Messages: 309

Système d'exploitation:
PC
Version Excel utilisée:
2013
Posté le : 02-11-2008 11h03
Bonjour à tous,

Peux-tu essayer avec :
DerLign = Sheets("Feuil2").Range("A1").End(xlDown).Row + 1
DerCol = Sheets("Freuil2").Range("A1").End(xlToRight).Column + 1

Cells(DerLign, DerCol).Select

A adapter mais pour les colonnes : 
End(xlToRight)
A+


Cordialement
Hors Ligne
Rapport   Haut 

Re: Exemple de syntaxe
#5
Aspirant XLPages

Inscription: 05/10/2008

Messages: 24

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 02-11-2008 12h09

Bonjour à tous et merci je vais de ce pas regarder ce que cela donne

pour ça il faut faire comment ??

.SetRange Range("E5:AA" & derlign) 'ça c'est ok

.SetRange Range("E5:"& dercol & derlign) 'ça c'est pas correct

comment recuperer la valeur de dercol en lettre ??
et est ce que je suis sur la bonne voie ??

a bientot merci 
Edité par spookyz le 02/11/2008 15:36:24
Hors Ligne
Rapport   Haut 

Re: Exemple de syntaxe
#6
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 03-11-2008 17h45
Bonsoir spookyz, JCGL, le forum,

Citation :
spookyz a écrit :
Bonjour à tous et merci je vais de ce pas regarder ce que cela donne

pour ça il faut faire comment ??

.SetRange Range("E5:AA" & derlign) 'ça c'est ok

.SetRange Range("E5:"& dercol & derlign) 'ça c'est pas correct

comment recuperer la valeur de dercol en lettre ??
et est ce que je suis sur la bonne voie ??

a bientot merci 

Plutôt que de se rapprocher de l'usine à gaz... moi je te proposerais plutôt d'utiliser ce type de syntaxe :
Range(Cells(5, 5), Cells(derlign, dercol))
Expression dans laquelle, Cells(5, 5) équivaut à la cellule "E5".

Pour rappel, on fait : Cells(LaLigne, LaColonne).

Par ailleurs, sauf erreur, on s'éloigne un peu d'Excel avec ".SetRange" (et on se rapproche de Word... non ?)

Cordialement,


Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Exemple de syntaxe
#7
Aspirant XLPages

Inscription: 05/10/2008

Messages: 24

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 04-11-2008 18h22
Bonjour à tous et merci à tous, 
pour les questions excel et words désolé mais
mon niveau ne me permet pas de m'en rendre compte
en tout cas merci beaucoup pour votre aide
 

Edité par spookyz le 19/11/2008 17:28:29
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes