VBA lire une colone et en tiré les info

totor51 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
totor51 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

4 réponses

Kobaya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   214
 
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
0
totor51 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
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
@+
0
totor51 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
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 @+
0
Kobaya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   214
 
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
0
totor51 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
salut
ba je te remercie
ca fonctionne
bien
@+
0