Erreur de compil' Macro VBA

odubouexic

XLDnaute Nouveau
Bonjour,

Totalement debutante dans le domaine, je me lance... mais, qd j ai voulu tester ma courte macro, j ai une erreur de compilation... qq'un veut il bien m eclairer ???

merci,
A+

Ci-apres, le code que ja i tapé :

Sub Remplacer()
Range(a, j).Select
If activecells = 'Transfert AIT' Then
Set by = 'C400-1070I'
End If
End Sub
 

Hervé

XLDnaute Barbatruc
bonjour

Range(a, j).Select=a et j sont des variables non initialisées, deplus, il faut utiliser cells dans ces cas : cells(ligne,colonne)

If activecells = 'Transfert AIT' Then = activecell, sans s

Set by = 'C400-1070I'= set permet d'initialiser une variable à l'aide d'un objet (cellule, plage de cellule, dessins,...) mais pas du texte.

Sub Remplacer()
dim a as byte, j as byte
dim by as string
a=1
j=1

cells(a,j).select

if activecell='Transfert AIT' then
by='C400-1070I'
activecell=by
end if

End Sub

ce code remplace dans la cellule A1, 'Transfert AIT' par 'C400-1070I'

salut
 

odubouexic

XLDnaute Nouveau
Re,

en fait, je ne comprend pas tres bien ce que ce code là signifie :

dim a as byte, j as byte
dim by as string
a=1
j=1

quelle action effectue t il ?

car par mon code range (a,j).select je cherchais a selectionner la plage de cellule de A à J sans limitation de ligne... j ai bien compris pourquoi c'etait faux, mais, le code que tu me propose, j ai du mal a le comprendre...

ce qui me gene surtout sont les A=1 et J=1 comme l impression qu on selectionne deux cellules...

je me trompe ?
Merci ,
A+
Olivia
 

porcinet82

XLDnaute Barbatruc
Salut odubouexic, Hervé ;)

Les lignes commencant par Dim permettent de déclarer tes variables et de leur donner un format. Donc dans le cas présent a et j sont des varaibles déclarés en Byte, c'est à dire qu'elle peuvent prendre une valeurs entre 0 et 255. By est déclarée en String, c'est à dire qu'il s'agit de chaine de caractère.
a=1 et j=1 permettent d'affecter la valeur 1 à a et j.

Comme l'a deja préciser Hervé, rarnge(a,j).select permet de sélectionner la cellule ligne 1 colonne 1, c'est à dire la cellule A1.

Pour sélectionner la plage de cellule de A à J sans limitation de ligne, soit tu sélectionne directement les colonnes avec un code du genre Columns('A:J').Select ou alors tu peux également utiliser un Range avec un code du genre Range('A1:J65536').Select.

Il y a bien d'autres possibilités de sélectionner cette plage. Peut etre qu'Hervé aura d'autres informations a t'apporter.

Dernière chose à propos de
ce qui me gene surtout sont les A=1 et J=1 comme l impression qu on selectionne deux cellules...
En fait pour sélectionner une cellule, il faut donner 2 coordonnées, un numéro de ligne et un numéro de colonne.
Exemple:
Range('A1').select
Cells(1,1).select


@+
 

Discussions similaires

Statistiques des forums

Discussions
312 361
Messages
2 087 627
Membres
103 608
dernier inscrit
rawane