Besoin d'aide vba excel

Fermé
papou32 Messages postés 8 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 5 juillet 2010 - 10 avril 2010 à 15:59
dct33 Messages postés 41 Date d'inscription jeudi 8 avril 2010 Statut Membre Dernière intervention 20 avril 2010 - 12 avril 2010 à 19:07
Bonjour,

J'ai des données à entrées dans trois lignes et une seul colonne:

ALPHA A
ALPHA B
ALPHA C

J'ai écrit ce qui suit en VBA Excel :

sub prog ( )
Dim nomcell
nbrainter=
t=1
H=nbrainter

For an = 1 To 10
For na = 1 To 10
Worksheets("feuille2").Cells(an, na).Value = ""

Next

For i = 1 To NbrAinter Step 1
nomcell=cells(i,2)

exit sub

sub2


Worksheets("feuill2").Cells(i, 1).Value = "définition ="
Worksheets("feuill2").Cells(i, 2).Value = nom

J=i+(t*h)+t
Worksheets("feuill2").Cells(j, 1).Value = "définition ="
Worksheets("feuill2").Cells(j, 2).Value = nom

t=t+1
b=i+(t*h)+t
Worksheets("feuill2").Cells(b, 1).Value = "définition ="
Worksheets("feuill2").Cells(b, 2).Value = nom


Qaund je tape run sous VBA il m'affiche seulement ALPHA A trois fois dans la feuille2 sur tois ligne :

Definition=ALPHA A
Definition=ALPHA A
Definition=ALPHA A

Je veux avoir un script qui affiche ALPHA A sur la ligne 1 et APLPHA B sur La ligne 2 et ALPHA C sur la ligne 3


Definition=ALPHA A
Definition=ALPHA B
Definition=ALPHA C

Merci de votre aide
A voir également:

2 réponses

dct33 Messages postés 41 Date d'inscription jeudi 8 avril 2010 Statut Membre Dernière intervention 20 avril 2010 39
10 avril 2010 à 19:19
Bonjour,
Il est difficile de comprendre ce que vous voulez faire
Dim permet de déclarer un variable
Dim Toto AS type de variable
AS integer pour un entier
As string pour du texte
etc Double pou decimal Date pour date

Dans un boucle for si le pas est de 1 le step 1 ne sert a rien

Le code présenté n'est pas complet
Dites en clair ce que vous voulez faire

Il faut débuter un jour donc bon courage

Bonne programmation
0
papou32 Messages postés 8 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 5 juillet 2010
11 avril 2010 à 11:46
Bonjour dct33,

Merci pour votre réponse .

Je vais expliquer :

Le script que j'ai envoyé marche bien , mais il m'affiche trois fois Definition=ALPHA A ,
je veux qu'il m'affiche Definition=ALPHA B et Definition=ALPHA C Successivement comme ça:


Definition=ALPHA A
Definition=ALPHA B
Definition=ALPHA C

ALPHA A la première ligne et ALPHA B deuxième ligne et ALPHA C troisième ligne .

Est ce qu'il y a une boucle à introduire puisque j'introduit mes données dans la feuille 1 d'excell et après exécution du script il m'affiche le résultat dans la deuxième feuille .

dans ma déclaration j'ai mis :nomcell=cells(i,2) puisque les données que j'introduit sont fixé sur la deuxième collone et varient sur les ligne ( deuxième ligne ALPHA B et troisième ligne
ALPHA C


Merci pour votre aide .
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
11 avril 2010 à 21:00
Bonjour,

Le script que j'ai envoyé marche bien

Ben non puisqu'il ne fait pas ce qu'il est sensé faire...

3 fois tu écris :
Worksheets("feuill2").Cells(..., 2).Value = nom
avec nom qui ne change pas, normal qu'il t'écrive la même chose.

De plus on, voit un for sans next...

eric
0
dct33 Messages postés 41 Date d'inscription jeudi 8 avril 2010 Statut Membre Dernière intervention 20 avril 2010 39
12 avril 2010 à 19:07
Bonjour,
Je confirme l'objet n'est pas clair.
Expliquez clairement votre sujet. Certes cela vous semble clair mais pour ma part ça ne l'est pas.
Eric, vous dit qu'il manque des bouts de code

S'il s'agit que de recopier

Sub copie()

For X = 1 To 3
Sheets(1).Select
'Sélection de 10 cellules
Range(Cells(X, 2), Cells(X, 12)).Select
Selection.Copy
Sheets(2).Select
Cells(X, 2).Select
ActiveSheet.Paste
Next X

End Sub


autre solution
--------------------

Sub copie()

Sheets(1).Select
Range(Cells(1, 2), Cells(3, 12)).Select
Selection.Copy
Sheets(2).Select
Cells(1, 2).Select
ActiveSheet.Paste
Sheets(1).Select
End Sub


autre solution
--------------------
Sub copie()

For X = 1 To 3
For Y = 1 To 10
Sheets(2).Cells(X, Y) = Sheets(1).Cells(X, Y)

Next Y
Next X
End Sub


Voilà comment faire de la copie de différentes façons et il y en a d'autres
Bon courage et bonne programmation
0