concaténer une variable avec du texte en vba

snake30620

XLDnaute Nouveau
Bonjour le forum,

Je souhaite faire une macro qui , a partir d'un listing d'agent remplisse automatiquement une tableau.

Dans ce listing les agents sont identifiés par :
- une ligne récapitulative notée : AGENTx - Récapitulatif
puis plus bas par une ligne détaillée notée :
AGENTx - Détail
Pour ne pas faire double emploi , ma macro ne doit prendre les données que de AGENTx - Détail ( ou Récapitulatif)

AGENTx étant variable le code du test sera est du style :
If AGENT = Left('cellule détail', 6) Then

Mon probleme réside dans le test qui me permettra d'éviter la deuxiéme ligne .

Une solution serai d'identifier la cellule ( AGENTx - Récapitulatif) mais lors du test je n'arrive pas à concaténer cette cellule :

l'ideal serai de pouvoir ecrire la ligne suivante , mais ça ne marche pas
'if cellule testée = AGENTx & " Récapitulatif " then
'ne pas prendre les données.

avez vous un conseil à me donner

merci de votre aide

Snake:)
 

snake30620

XLDnaute Nouveau
Re : concaténer une variable avec du texte en vba

Bonjour cbea,

voici la boucle test concernée :

Sheets("téléphonie").Activate

For t = 2 To 150

cell = Cells(t, 1).Value ' cellule à tester "Agent - Répartition"

' user est l'agent
' lg est le nombre de caracteres de l'agent

If user = Left(cell, lg) Then

appel = cells(t,2).value

End If

Next t

Ce test affecte la bonnes valeur à la variable 'appel' mais dans la suite du listing il ya une ligne qui est en t,1 dont le contenu est : "Agent - Répartion détail" .
Cette ligne répond aussi au test ci dessus mais la composition étant différente , la variable appel est mise à 0.

Je voudrais donc faire un test qui puisse ne pas prendre en compte cette deuxiéme ligne .

mais là je séche..

merci de ton aide

snake
 

cbea

XLDnaute Impliqué
Re : concaténer une variable avec du texte en vba

Bonjour Snake,

Peux-tu faire un essai ?

Code:
Sheets("téléphonie").Activate

For t = 2 To 150
    [COLOR="Red"]If Not Cells(t, 1).Value Like "Agent* - Répartition" Then[/COLOR]
        cell = Cells(t, 1).Value ' cellule à tester "Agent - Répartition"
        
        ' user est l'agent
        ' lg est le nombre de caracteres de l'agent
        
        If user = Left(cell, lg) Then
            appel = Cells(t, 2).Value
        End If
    [COLOR="red"]End If[/COLOR]
Next t
 

snake30620

XLDnaute Nouveau
Re : concaténer une variable avec du texte en vba

Cbea,

je viens de le tester , ça ne marche pas .

le test n'est pas fait avec la ligne /

If Not Cells(t, 1).Value Like "Agent* - Répartition" Then

je pense la variable agent n'est pas prise en compte .

snake
 

Spitnolan08

XLDnaute Barbatruc
Re : concaténer une variable avec du texte en vba

Bonjour Snake, Cbea:),

Comme tu ne fournis pas de fichier comme te l'a demandé cbea, on navigue à vue...
Un essai :
Code:
Sheets("téléphonie").Activate
For t = 2 To 150
    If Len(Mid(Cells(t, 1).Value, 10)) > 8 Then 
        cell = Cells(t, 1).Value ' cellule à tester "Agent - Répartition"
        
        ' user est l'agent
        ' lg est le nombre de caracteres de l'agent
        
        If user = Left(cell, lg) Then
            appel = Cells(t, 2).Value
        End If
    End If
Next t
Cordialement
 

snake30620

XLDnaute Nouveau
Re : concaténer une variable avec du texte en vba

Bonjour spitolan08,cbea

spitolan08: excuse moi pour le fichier , je pensais que l'extrait du code allait suffir.

Ceci étant , merci pour ton aide . Tu as raison en passant par un test sur la longueur de la cellule ça marche .

merci à tous les deux pour votre aide

snake :):)
 

Discussions similaires

Statistiques des forums

Discussions
312 764
Messages
2 091 871
Membres
105 084
dernier inscrit
lca.pertus