[VB & Excel] Comment sélectionner plusieurs cellules avec ...

Comment sélectionner plusieurs cellules avec ... [VB & Excel] - Programmation

Marsh Posté le 04-07-2002 à 11:00:11    

avec une variable comme référence...
 

Code :
  1. Rep = Range("N10" )
  2.    
  3. Range("A4:Rep" ).Select


 
vous avez compris?...


Message édité par le_duc le 04-07-2002 à 11:00:51
Reply

Marsh Posté le 04-07-2002 à 11:00:11   

Reply

Marsh Posté le 04-07-2002 à 11:45:06    

?  :bounce:

Reply

Marsh Posté le 04-07-2002 à 11:55:19    

:eek2:

Reply

Marsh Posté le 04-07-2002 à 12:32:38    

peut pas marcher comme tu l'as écrit : rep est un range et non un string.
j'ai jamais fait de select dans les qq progrs VBA / Excel que j'ai fait, mais je fais ceci pour travailler en mode LC et non A1 :
 
'intValeur est un entier
'strTableau est un tableau de string
 
    i=1
    For Each Cell In Range(Cells(1, 1), Cells(intValeur, 1))
        Cell.Value = strTableau(i)
        i = i + 1
    Next Cell
 
...
 
Range(Cells(4, 2), Cells(intValeur + 4, intValeur2 + 2)).NumberFormat = "# ##0.00"
 
...
 
donc j'imagine que  
Range(Cells(4, 2), Cells(intValeur + 4, intValeur2 + 2)).select
doit marcher
 
Si ces exemples peuvent t'aider...
 

Reply

Marsh Posté le 04-07-2002 à 13:55:33    

ben simplement ça non ?
 

Code :
  1. Sub test()
  2. Dim rep As String
  3. rep = "N10"
  4. Range("A10:" & rep).Select
  5. End Sub

Reply

Marsh Posté le 04-07-2002 à 14:43:48    

JPA a écrit a écrit :

peut pas marcher comme tu l'as écrit : rep est un range et non un string.
j'ai jamais fait de select dans les qq progrs VBA / Excel que j'ai fait, mais je fais ceci pour travailler en mode LC et non A1 :
 
'intValeur est un entier
'strTableau est un tableau de string
 
    i=1
    For Each Cell In Range(Cells(1, 1), Cells(intValeur, 1))
        Cell.Value = strTableau(i)
        i = i + 1
    Next Cell
 
...
 
Range(Cells(4, 2), Cells(intValeur + 4, intValeur2 + 2)).NumberFormat = "# ##0.00"
 
...
 
donc j'imagine que  
Range(Cells(4, 2), Cells(intValeur + 4, intValeur2 + 2)).select
doit marcher
 
Si ces exemples peuvent t'aider...
 
 




 
j'ai pas tout compris...  :pt1cable:  
 

latruffe a écrit a écrit :

 

Code :
  1. Sub test()
  2. Dim rep As String
  3. rep = "N10"
  4. Range("A10:" & rep).Select
  5. End Sub






 
j'vais essayer  :hello:


Message édité par le_duc le 04-07-2002 à 14:44:19
Reply

Marsh Posté le 04-07-2002 à 15:10:39    

latruffe a écrit a écrit :

ben simplement ça non ?
 

Code :
  1. Sub test()
  2. Dim rep As String
  3. rep = "N10"
  4. Range("A10:" & rep).Select
  5. End Sub






 
ca marche ton truc... mais dès que je mets ma formule, ca déconne :
 

Code :
  1. Range("A4" ).Select
  2. Max = Range("A2" )
  3. Dim fin As String
  4. fin = Selection.Offset(Max, 14)
  5. Range("A4:" & fin).Select


 
y'a quoi qui joue pas dans mon code??

Reply

Marsh Posté le 04-07-2002 à 15:32:12    

eh de l'aide SVP!!!  :cry:

Reply

Marsh Posté le 04-07-2002 à 15:54:22    

:bounce:

Reply

Marsh Posté le 04-07-2002 à 16:25:11    

Que veux tu faire exactement ?
Sélectionner de la cellule A4 à la cellule dont l'adresse est dans A2 ?
dans ce cas :
 
Dim fin As String
fin = Range("A2" ).Text
Range("A4:" & fin).Select
 
marche très bien
A+


Message édité par JPA le 04-07-2002 à 16:25:39
Reply

Marsh Posté le 04-07-2002 à 16:25:11   

Reply

Marsh Posté le 04-07-2002 à 19:37:58    

JPA a écrit a écrit :

Que veux tu faire exactement ?
Sélectionner de la cellule A4 à la cellule dont l'adresse est dans A2 ?
dans ce cas :
 
Dim fin As String
fin = Range("A2" ).Text
Range("A4:" & fin).Select
 
marche très bien
A+




 
ben en fait, j'aimerais sélectionner une base de donnée entière... je connais le nombre de cases occupées verticalement grâce à la cellule "A2" et horizontalement la taille est fixe (14 cellules). Il est a noter que le nombre en "A2" peut changer!
 
Donc ce que j'aimerais faire, c'est sélectionner entièrement cette base de données grâce a des variables...

Reply

Marsh Posté le 04-07-2002 à 20:42:33    

JPA a écrit a écrit :

Que veux tu faire exactement ?
Sélectionner de la cellule A4 à la cellule dont l'adresse est dans A2 ?
dans ce cas :
 
Dim fin As String
fin = Range("A2" ).Text
Range("A4:" & fin).Select
 
marche très bien
A+




 
ta solution ne sélectionnera que la 1ère colonne...alors qu'il y en a 14 a sélectionner!

Reply

Marsh Posté le 04-07-2002 à 23:12:49    

:bounce:

Reply

Marsh Posté le 05-07-2002 à 08:34:57    

? de l'aide SVP!

Reply

Marsh Posté le 05-07-2002 à 09:27:35    

Dans A2 : nbre de lignes de la BDD
 
Dim nblig As Integer
nblig = Range("A2" ).Value
Range(Cells(4, 1), Cells(nblig + 4, 14)).Select
 
'Remarque : Cells(4, 1) correspond à la cellule A4
 
Tu aurais essayé de comprendre le code que je t'avais donné dans mes premiers exemples, tu y serais arrivé tout seul :D
A+

Reply

Marsh Posté le 05-07-2002 à 10:48:00    

JPA a écrit a écrit :

Dans A2 : nbre de lignes de la BDD
 
Dim nblig As Integer
nblig = Range("A2" ).Value
Range(Cells(4, 1), Cells(nblig + 4, 14)).Select
 
'Remarque : Cells(4, 1) correspond à la cellule A4
 
Tu aurais essayé de comprendre le code que je t'avais donné dans mes premiers exemples, tu y serais arrivé tout seul :D
A+




 
c'est bon, j'avais réussi!! merci pour votre aide ;)
 
autre question maintenant  :D :
 
Comment je peux faire pour dire à une macro d'écrire cette formule dans une case ?
 

Code :
  1. =SI(Baccara!B5="";"";Baccara!B5)


 
j'ai essayé comme ca, mais ca marche pas... à cause des 3 guillemets qui se suivent je pense... :
 

Code :
  1. Selection.Offset(0, 1) = "=SI(" & Var2 & "B" & max_employeur & """;"";" & Var2 & "B" & max_employeur & " )"


 
?...  :hello:

Reply

Marsh Posté le 05-07-2002 à 11:27:41    

double le " :
strtoto=""""
strtoto contiendra "
Mais ton code sera peu lisible...


Message édité par JPA le 05-07-2002 à 11:29:40
Reply

Marsh Posté le 05-07-2002 à 11:33:10    

JPA a écrit a écrit :

double le " :
strtoto=""""
strtoto contiendra "
Mais ton code sera peu lisible...




 
pas capté grand chose...
 
T'arrive à m'écrire ce que je dois mettre si je veux qu'une macro dise à excel d'écrire la formule suivante dans une cellule :
 
=SI(5>3;"C'est faux";"" )
 
merci d'avance!

Reply

Marsh Posté le 05-07-2002 à 12:01:52    

En enregistrant la macro et en tapant la formule dans la cellule on obtient :
 
Range("B5" ).Select
ActiveCell.FormulaR1C1 = "=IF(5>3,""c'est faux"","""" )"
     
A+

Reply

Marsh Posté le 05-07-2002 à 13:04:17    

JPA a écrit a écrit :

En enregistrant la macro et en tapant la formule dans la cellule on obtient :
 
Range("B5" ).Select
ActiveCell.FormulaR1C1 = "=IF(5>3,""c'est faux"","""" )"
     
A+




 
j'vais teste! merci beaucoup pour ton aide!!!!!  :jap:  :jap:  :jap:

Reply

Marsh Posté le 05-07-2002 à 14:19:07    

JPA a écrit a écrit :

En enregistrant la macro et en tapant la formule dans la cellule on obtient :
 
Range("B5" ).Select
ActiveCell.FormulaR1C1 = "=IF(5>3,""c'est faux"","""" )"
     
A+




 
j'voulais encore te demander :
 
- C'est possible de contrôler ce que les gens saisissent dans les champs? (je m'explique --> j'aimerais pouvoir afficher un message d'erreur si ce que la personne a saisi n'est pas un nombre par exemple...)
 
- C'est possible de vérifier si une feuille existe déjà ? (je m'explique --> l'utilisateur de mon application peut créer des feuilles (à l'aide d'une macro donc...) mais j'aimerais pouvoir contrôler si la feuille qu'il veut créer n'existe pas déjà.
 
Merci d'avance!  :hello:

Reply

Marsh Posté le 05-07-2002 à 14:32:50    

je sais que c'est possible, mais je ne l'ai jamais fait.
Donc -> retour au manuel et à l'abominable aide en ligne d'Excel.
désolé

Reply

Marsh Posté le 05-07-2002 à 15:40:45    

JPA a écrit a écrit :

je sais que c'est possible, mais je ne l'ai jamais fait.
Donc -> retour au manuel et à l'abominable aide en ligne d'Excel.
désolé




 
OK! j'vais essayer de trouver ;)
 
En tout cas merci beaucoup pour ton aide très précieuse!!!!!

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed