Vba probleme avec if

Résolu/Fermé
chico - 31 janv. 2012 à 15:59
 chico - 1 févr. 2012 à 11:47
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
31 janv. 2012 à 17:14
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 lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 307
Modifié par chossette9 le 31/01/2012 à 16:23
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 31/01/2012 à 16:39
Bonjour,
Faut comprendre "entre les lignes" :-)
    =SI(A1<>"";CONCATENER(B1;"_";C1;"") 

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

A+
0
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 10858 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 14 mai 2024 2 404
Modifié par ccm81 le 31/01/2012 à 17:22
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
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
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