Bonjour le forum,
Je souhaite que les fêtes de Noel se soient bien déroulées pour vous, et que les préparatifs de fins d'années se passeront tout aussi bien.
J'ai un petit soucis vba que je n'arrive pas à résoudre malgré les différentes FAQ consultées.
j'aimerais créer une macro qui me permette d'attribuer un nom de plage à certaines colonnes lors de l'activation de ma feuille "base".
sur cette feuille, il arrive parfois que l'on rajoute/supprime des colonnes, les formules utilisant les noms sont parfois décalées (comme sommeprod).
j'ai vu plusieurs codes utilisant "find", mais je n'ai pas pu les adapter à mon problème, alors j'ai pensé au code ci-dessous :
Jusqu'à la sélection, ça se passe bien mais ma ligne d'affectation de nom génère une erreur.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Dim NbLig As Long Dim NbCol As Long NbLig = Sheets("base").Cells(Columns(1).Cells.Count, 1).End(xlUp).Row NbCol = Sheets("base").Cells(1, Rows(1).Cells.Count).End(xlToLeft).Column For j = 1 To NbCol If Sheets("base").Cells(1, j) = "PAYS" Then Sheets("base").Range(Cells(2, j), Cells(NbLig, j)).Select Sheets("base").Names.Add Name:="pl_pays", RefersToR1C1:="=base! & Range(Cells(2, j), Cells(NbLig, j)).adresse" End If If Sheets("base").Cells(1, j) = "VILLE" Then Sheets("base").Range(Cells(2, j), Cells(NbLig, j)).Select Sheets("base").Names.Add Name:="pl_ville", RefersToR1C1:="=base! & Range(Cells(2, j), Cells(NbLig, j)).adresse" End If Next j End Sub
Quelqu'un peut-il m'expliquer pourquoi ?
PS :
1 - Dans le post de jojo86 (Excel en Base de données, devenir fou?), on parle de requete sous excel, connaissez-vous un tutoriel qui en parle ?
2 - J'aimerais apprendre à manipuler les plages de cellules avec les boucles. Pour l'utilisation de cells.(i,j) ça va mais ma grande difficulté c'est de rendre dynamique les indices dans range("A1:C32") par exemple.
Dans la fac excel :
http://excel.developpez.com/faq/inde...ge=Plage#Range
on en parle brièvement.
Merci pour votre aide.