Vba probleme avec if

Résolu
chico -  
 chico -
Bonjour,

j'utilise excel 2003, et j'essaie d'établir une macro, mon objectif est de faire en sorte que

si cellule X de la colonne A = "DUTEXTE" alors cellule X corespondante dans la colonne Y = cellule B & "_" & cellule C,

Si vous pouvez m'aider, ce serait super !

d'avance merci pour vos conseils

5 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Sais pas si c'est ça que tu veux..
Sub Test()
Dim Lig As Long
    With Sheets("Feuil1") 'adapter le nom
    For Lig = 2 To .[A65536].End(xlUp).Row
        If .Cells(Lig, 1) <> "" Then
            .Cells(Lig, "Y") = .Cells(Lig, 2) & "_" & .Cells(Lig, 3)
        End If
    Next
    End With
End Sub

Tu dis.
A+
1
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Bonjour, pourquoi passer en VBA ?

Il suffit d'écrire dans la colonne Y :
=SI(A1="DUTEXTE";CONCATENER(B1;"_";C1);)
puis recopier vers le bas.

Cordialement.
Ce mec la n'était pas une lumière, car il était niais.
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour,
Faut comprendre "entre les lignes" :-)
    =SI(A1<>"";CONCATENER(B1;"_";C1;"") 

Ou bien
    =SI(ESTVIDE(A1);"";CONCATENER(B1;"_";C1) )

A+
0
chico
 
Bonjour et merci de vos réponses et de votre réactivité.

Je dois passer par VBA car cela rentre dans le cadre d'un retraitement plus complet d'un fichier. Ce n'est pas la seule action que je dois effectuer, et ce traitement sera à réaliser quotidiennement sur de nouveaux fichiers.

Savez vous ce que je pourrais faire ?

j'ai essayé :
Dim cellule as range
for each Cellule in columns a if cellule = "texte" then, mais je ne m'en sort pas.

Merci d'avance pour vos réponses !
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour

pas très clair ta demande
ce que j'ai compris (par exemple pour la ligne 2)
Si A2 = "DUTEXTE" alors Y2 = B2 & "_" & C2
ce qui donnerait

Dim li As Long 
..
If Range("A" & li).Value = "DUTEXTE" Then 
  Range("Y" & li).Value = Range("B" & li).Value & "_" & Range("C" & li).Value 
End If

bonne suite
0
chico
 
Merci pour les réponses,

Je n'ais pas eu le temps d'essayer, dès que c'est fait je vous fait un retour ! :)
0

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

Posez votre question
chico
 
Je m'en suis sortie comme ça :

Sub Macro1()
'
Dim CELUL As Range
Dim cel As Long, nbr As Long



nbr = Cells(Rows.Count, 1).End(xlUp).Row - 1


For cel = 2 To nbr + 1
If Cells(cel, 1).Value = "SUMMIT" Then
Cells(cel, 4).Value = Cells(cel, 2).Value & "_" & Cells(cel, 2).Value
End If
Next cel



End Sub

Merci pour tout !
0