VBA lire une colone et en tiré les info
totor51
Messages postés
10
Statut
Membre
-
totor51 Messages postés 10 Statut Membre -
totor51 Messages postés 10 Statut Membre -
bonjours a tous ceux qui me reponderont et aux autres biensur
je bosse sur excel en utiisant VBA
je doit lire chaque ligne d'une colonne et suivant la valeur qu'il y a dans chaque cellule et retourné un mot "ex; marche ou arret". voila si quelqu'un peut me donner une piste ou une solution pourkoi po si vous voulais plus d'info d'hesiter.
@+ et bonne soiré a tous
je bosse sur excel en utiisant VBA
je doit lire chaque ligne d'une colonne et suivant la valeur qu'il y a dans chaque cellule et retourné un mot "ex; marche ou arret". voila si quelqu'un peut me donner une piste ou une solution pourkoi po si vous voulais plus d'info d'hesiter.
@+ et bonne soiré a tous
4 réponses
-
salut,
Ca va peut-être t'aider :Option Explicit Sub MaProcedure() Dim rngCell As Range For Each rngCell In Columns(1).Cells Application.StatusBar = rngCell.Row If Not IsEmpty(rngCell) Then Select Case rngCell.Value Case 0 rngCell.Offset(0, 1).Value = "Arrêt" Case 1 rngCell.Offset(0, 1).Value = "Marche" Case Else rngCell.Offset(0, 1).Value = "Autre chose..." End Select End If Next Application.StatusBar = "" End Sub
-
merci Kobaya aujourd'hui je n'ai pas eu le temps de tester ce que tu ecrit tinkiete je te tiendrait au courant si ca fonctionne
merci encore
@+ -
bon jours a tous
finalement j'ai enregitrer une nouvelle macro
suivant les diferente valeur de bon tableau cela me retourner l'etat de l'application
dans ma case g mis ca :
=SI(E3=1;"marche'1'";SI(ET(C3=1;E3=0);"Arret'1'";SI(ET(C3=2;E3=0);"pas defaut'1'";SI(ET(C3=5;E3=0);"Arret'2'";SI(ET(C3=6;E3=0);"pas defaut'2'";SI(E3=2;"Defaut'1'";SI(E3=5;"Marche'2'";SI(E3=6;"Defaut'2'";"pb data"))))))))
cela fonctionne ensuite je voulais le generaliser a laide d'une macro car je ne connais po le nombre de valeur de bon tableau
g taper ca en VBA
Sub Traiter_resultat()
'on test la colone pour connaitre l'état du métier a tisser
Range("F3").Select
ActiveCell.FormulaR1C1 = _
"=RC[-1]=1 ""marche'1'"" AND(RC[-3]=1,RC[-1]=0)""Arret'1'"" AND(RC[-3]=2,RC[-1]=0)""pas defaut'1'"" AND(RC[-3]=5,RC[-1]=0)?""Arret'2'"" AND(RC[-3]=6,RC[-1]=0)""pas defaut'2'"" IF(RC[-1]=2,""Defaut'1'"",IF(RC[-1]=5,""Marche'2'"",IF(RC[-1]=6,""Defaut'2'"",""pb data"")))"
Range("F3").Select
Selection.AutoFill Destination:=Range("f3", Range("f3").End(xlDown)).Select, Type:=xlFillDefault
Range("f3", Range("f3").End(xlDown)).Select
End Sub
hé la ca ne marche po alors que c 'est excel ki a generé le test
g un message d'erreur '1004'
erreur définit par l'application ou par l'objet
voila je ne voi po ou ai mon erreur si kelkun a une idée merci et @+-
re salut,
voici ce que j'ai enregistré en utilisant des adresses relatives (pour les lignes) et absolues (poutr les colonnes), et ça fonctionne.Sub Traiter_resultat() 'on test la colone pour connaitre l'état du métier a tisser Range("F3").Select ActiveCell.FormulaR1C1 = _ "=IF(RC5=1,""marche'1'"",IF(AND(RC3=1,RC5=0),""Arret'1'"",IF(AND(RC3=2,RC5=0),""pas defaut'1'"",IF(AND(RC3=5,RC5=0),""Arret'2'"",IF(AND(RC3=6,RC5=0),""pas defaut'2'"",IF(RC5=2,""Defaut'1'"",IF(RC5=5,""Marche'2'"",IF(RC5=6,""Defaut'2'"",""pb data""))))))))" Range("F3").Select Selection.AutoFill Destination:=Range("f3", Range("f3").End(xlDown)).Select, Type:=xlFillDefault Range("f3", Range("f3").End(xlDown)).Select End Sub
-
-