Créer une nouvelle colonne grâce à une condition

diegodieguito Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaiterais créer une nouvelle colonne à partir d'une autre.
Sur la base d'un =si(cellA=10000;cellb=5000);si(... ect)
Il faudrait que si la condition est rempliele chiffre se mette en face.

J'avais pensé à une macro dans ce style: (mais bon évidemment ça ne marche pas

Sub test()
On Error Resume Next

Application.ScreenUpdating = False
With Worksheets("feuil1")
If .Range("A2:A4000") = "1000" Then
.Range("A2") = 84
ElseIf .Range("A2:A4000") = "2777" Then
.Range("A2") = 84
Else
'pour autre test: ici sortie
Exit Sub

End If
End With

Application.ScreenUpdating = True
End Sub

Merci d'avance pour votre aide!
A voir également:

6 réponses

skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
Bonjour

Je ne vois pas ou tu crée une nouvelle colonne dans ton code.

Et je ne vois pas ou tu va chercher le 1000 et le 2777

Merci
0
diegodieguito Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour ,

En fait je veux créer une nouvelle colonne à partir d'une autre (celle qui contient tous les 1000 2777 et ect...) pour les remplacer par d'autres nombres selon des conditions spécifiques à chaque nombre de la première colonne.

Merci à toi d'avance pour ton aide
0
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
C'est très complexe... Vous avez une condition par chiffre ?

Dans ce cas le code :

Select Case Cells(1,1) 'Objet à controler, par exemple cellule
Case 20 'Dans le cas ou la cellule =20
'Code en cas de 20
Case "Banane" ' Dans le cas ou la cellule = Banane
'Code en cas de "Banane"
Else ' Autres
'Code dans d'autres cas.
End Select


Pour plus de détails : https://docs.microsoft.com/fr-fr/dotnet/visual-basic/language-reference/statements/select-case-statement
0
diegodieguito Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Oui exact j'ai des conditions par chiffre ( une bonne 50 aine.... )

Ton code est valable si j'ai une seul cellule à tester? je vais regarder ton lien.

Merci beaucoup!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
Oui tu peux tester tout ce que tu veux. Un cellule, une variable, un objet ...

Mais si tu as une bonne 50taine de "Case" c'est un peu complex de s'y retrouver. Est-ce que tu n'as pas une logique qui revient dans ces "Case" ?

Tu as aussi la possibilité de faire ça :

Select Case Cells(1,1) 'Objet à controler, par exemple cellule
Case 20, 21, 22, 23 'Dans le cas ou la cellule =20 ou 21 ou 22 ou 23
'Code en cas de 20 à 23
End Select
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Bonjour,

Une façon de faire:

Sub test()
Dim adCell As Range

With Worksheets("feuil1")
    Set adCell = .Range("A2:A4000").Find("1000")
    
    If Not adCell Is Nothing Then
        .Range("A2").Value = 84
    Else
        Set adCell = Nothing
        Set adCell = .Range("A2:A4000").Find("2700")
        If Not adCell Is Nothing Then
            .Range("A2").Value = 84
        End If
    End If
End With

Set adCell = Nothing

End Sub 


«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
0