begin process at 2008 08 29 19:57:15
1 233 870 membres
392 nouveaux aujourd'hui
14 294 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Assigner la valeur d'une variable dans le "nom" d'une cellule. [ Base de données / ADO & DAO ] (Panodrek)

Assigner la valeur d'une variable dans le "nom" d'une cellule. le 27/06/2008 09:40:53

Panodrek
Bonjour.

Mon problème est le suivant:
J'ai créé une macro excel me permettant de d'automatiser le traitement d'un fichier .csv pour faire un tableau de statistiques et autres graphiques.
Chaque lignes correspond à une intervention (dépannage info). Or, je n'ai pas tout les mois le même nombre d'intervention. J'ai donc créé une variable compteur "m".

Range("AW1").Select
    ActiveCell.FormulaR1C1 = "=COUNTA(C[-48])"
    m = Range("AW1")

(je sais c'est fouilli comme code mais je débute tout seul)

Ceci va donc me compter le nombre de lignes, qui ce mois ci correspond à 3895.
La suite de la macro ne fait que répéter l'action faite pour la premiere ligne (çà marque la formule correspondante dans la premiere ligne, puis çà copie / colle en descendant).
Mais, pour copier coller, encore faut-il savoir où on s'arrete...
Je sais que "m" correspond au nombre de lignes, mais comment lui dire de faire ceci en utilisant "m" à a place de 3895?

Range("AL2").Select
    Selection.AutoFill Destination:=Range("AL2:AL3895"), Type:=xlFillDefault
    Range("AL2:AL3895").Select

Ceci bien sur pour que je puisse appliquer cette formule pour les mois suivants, qu'importe le nombre d'interventions...
Merci d'avance pour les réponses :)

Re : Assigner la valeur d'une variable dans le "nom" d'une cellule. le 27/06/2008 15:19:11

bigfish_le vrai
Réponse acceptée !
Salut,

Range("AL2").Select
    Selection.AutoFill Destination:=Range("AL2:" & m), Type:=xlFillDefault
    Range("AL2:" & m).Select

A+

Re : Assigner la valeur d'une variable dans le "nom" d'une cellule. le 27/06/2008 15:37:17

Panodrek
J'ai essayé ta formule, mais çà ne marche pas, çà me fait une "erreur d'execution 1004".
Un collegue m'a parlé de la fonction cstr() mais n'a pas pris le temp de m'expliquer le fonctionnement.
Est-ce que cette option peut etre envisagé comme une solution?

Re : Assigner la valeur d'une variable dans le "nom" d'une cellule. le 27/06/2008 15:45:26

bigfish_le vrai
...

une variable cela ce declare si ce n'etait pas le cas

Dim m As Long
Range("AW1").Select
    ActiveCell.FormulaR1C1 = "=COUNTA(C[-48])"
    m = Range("AW1").Value


Re : Assigner la valeur d'une variable dans le "nom" d'une cellule. le 27/06/2008 15:49:35

Panodrek
Je l'ai bien déclaré, mais j'ai fais THE gaffe: j'ai simplement copié/collé la formule

Range("AL2").Select
    Selection.AutoFill Destination:=Range("AL2:" & m), Type:=xlFillDefault
    Range("AL2:" & m).Select

et j'ai donc pas fais gaffe qu'il manquait le "AL" apres ":", ce qui du coup donne:

Range("AL2").Select
    Selection.AutoFill Destination:=Range("AL2:AL" & m), Type:=xlFillDefault
    Range("AL2:AL" & m).Select

Merci à toi :)


Classé sous : nombre, variable, lignes, range, correspond

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS