VBA
la pioche
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,
je vous explique mon problème
ma procédure contient un select case qui fonctionne
problème:
j'aimerais savoir si il y a une formule pour récupérer l'emplacement sur lequel le select case s'est arrété
en effet je m'explique:
le select case s'arrète sur trottoir
A ce moment je récupère l'emplacement du mot trottoir sur mon classeur
et ensuite j'aimerais avoir un truc du genre
Emplacement + 2 colonne = quelque chose
merci
je vous explique mon problème
ma procédure contient un select case qui fonctionne
problème:
j'aimerais savoir si il y a une formule pour récupérer l'emplacement sur lequel le select case s'est arrété
en effet je m'explique:
le select case s'arrète sur trottoir
A ce moment je récupère l'emplacement du mot trottoir sur mon classeur
et ensuite j'aimerais avoir un truc du genre
Emplacement + 2 colonne = quelque chose
merci
9 réponses
Nan cela ne marche pas, VBA ne reconnait pas trottoir de cette facon.
VBA ne reconnait pas non plus Case "trottoir" sinon j'aurait crue faire quelque chose du style mais cela ne marche pas
Case "trottoir".Offset(0,2).Value =...
?
merci de ta réponse Lupin
VBA ne reconnait pas non plus Case "trottoir" sinon j'aurait crue faire quelque chose du style mais cela ne marche pas
Case "trottoir".Offset(0,2).Value =...
?
merci de ta réponse Lupin
Bonjour,
peut-être avec..
ActiveCell.offset(0,2) = CeQueTuVeuxMettreDedans
Sinon donne plus de renseignement !
A+
peut-être avec..
ActiveCell.offset(0,2) = CeQueTuVeuxMettreDedans
Sinon donne plus de renseignement !
A+
nan cela ne marche pas
je vous montre ma procédure:
Tout d'abord l'emplacement du mot chaussée est variable et peut etre situé dans la plage de cellule essai1 qui s'étend de A1 a J1
1er cas:
Chaussée est en A1
Sub essai()
Dim Cellule As Range
For Each Cellule In Range("essai1")
Select Case Cellule.Value
Case "Chaussée" ici j'aimerais que lorsque mon select s'arrète sur ma case chaussée, je peux récupérer le nom de cette cellule (ex:A1)
If Cells(7, 13) = "Trafic Normal GB3" Then Ensuite pour les cases en rouge ce n'est q'un décaler d'une ligne
Cells(1, 1) = "2,5 cm BBTM + 4cm BBSG" Explication: Chaussée est en A1 donc "2,5 cm BBTM + 4cm BBSG" sera en A2
End If
If Cells(7, 13) = "Trafic Fort GB3" Then Cette procédure marche que si chaussée est en A1 mais si elle est en B1 cela ne fonctionne plus
Cells(1, 1) = "2,5 cm BBTM + 6cm BBSG" (voir cas 2)
End If
If Cells(7, 16) = "CF 1 Ep : 40cm" Then
Cells(2, 1) = "15 cm GNT 0/31,5mm + 25 cm GNT 0/80mm"
End If
Case "Caniveau"
If Cells(8, 9) = "Trafic Normal EME2" Then
Cells(12, 9) = "eeee"
End If
End Select
Next
End Sub
2e cas:
Chaussée est en B1
Sub essai()
Dim Cellule As Range
For Each Cellule In Range("essai1")
Select Case Cellule.Value
Case "Chaussée" ici j'aimerais que lorsque mon select s'arrète sur ma case chaussée, je peux récupérer le nom de cette cellule (ex:B1)
If Cells(7, 13) = "Trafic Normal GB3" Then Ensuite pour les cases en rouge ce n'est q'un décaler d'une colonne
Cells(1, 2) = "2,5 cm BBTM + 4cm BBSG" Explication: Chaussée est en B1 donc "2,5 cm BBTM + 4cm BBSG" sera en B2
End If
If Cells(7, 13) = "Trafic Fort GB3" Then
Cells(1, 2) = "2,5 cm BBTM + 6cm BBSG"
End If
If Cells(7, 16) = "CF 1 Ep : 40cm" Then
Cells(2,2 ) = "15 cm GNT 0/31,5mm + 25 cm GNT 0/80mm"
End If
Case "Caniveau"
If Cells(8, 9) = "Trafic Normal EME2" Then
Cells(12, 9) = "eeee"
End If
End Select
Next
End Sub
et ainsi de suite
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dsl je galère avec la mise en page
<code>Tout d'abord l'emplacement du mot chaussée est variable et peut etre situé dans la plage de cellule essai1 qui s'étend de A1 a J1
1er cas:
Chaussée est en A1
Sub essai()
Dim Cellule As Range
For Each Cellule In Range("essai1")
Select Case Cellule.Value
Case "Chaussée"
'ici j'aimerais que lorsque mon select s'arrète sur ma case chaussée, je peux récupérer le nom de cette cellule (ex:A1)
If Cells(7, 13) = "Trafic Normal GB3" Then
'Ensuite pour les cases en italique ce n'est q'un décaler d'une ligne
fonction cherchée = "2,5 cm BBTM + 4cm BBSG"
'Explication: Chaussée est en A1 donc "2,5 cm BBTM + 4cm BBSG" sera en A2
End If
If Cells(7, 13) = "Trafic Fort GB3" Then
Cette procédure marche que si chaussée est en A1 mais si elle est en B1 cela ne fonctionne plus
fonction cherchée = "2,5 cm BBTM + 6cm BBSG"
End If
If Cells(7, 16) = "CF 1 Ep : 40cm" Then
fonction cherchée = "15 cm GNT 0/31,5mm + 25 cm GNT 0/80mm"
End If
Case "Caniveau"
If Cells(8, 9) = "Trafic Normal EME2" Then
fonction cherchée = "eeee"
End If
End Select
Next
End Sub
<code>Tout d'abord l'emplacement du mot chaussée est variable et peut etre situé dans la plage de cellule essai1 qui s'étend de A1 a J1
1er cas:
Chaussée est en A1
Sub essai()
Dim Cellule As Range
For Each Cellule In Range("essai1")
Select Case Cellule.Value
Case "Chaussée"
'ici j'aimerais que lorsque mon select s'arrète sur ma case chaussée, je peux récupérer le nom de cette cellule (ex:A1)
If Cells(7, 13) = "Trafic Normal GB3" Then
'Ensuite pour les cases en italique ce n'est q'un décaler d'une ligne
fonction cherchée = "2,5 cm BBTM + 4cm BBSG"
'Explication: Chaussée est en A1 donc "2,5 cm BBTM + 4cm BBSG" sera en A2
End If
If Cells(7, 13) = "Trafic Fort GB3" Then
Cette procédure marche que si chaussée est en A1 mais si elle est en B1 cela ne fonctionne plus
fonction cherchée = "2,5 cm BBTM + 6cm BBSG"
End If
If Cells(7, 16) = "CF 1 Ep : 40cm" Then
fonction cherchée = "15 cm GNT 0/31,5mm + 25 cm GNT 0/80mm"
End If
Case "Caniveau"
If Cells(8, 9) = "Trafic Normal EME2" Then
fonction cherchée = "eeee"
End If
End Select
Next
End Sub
Evidement je ne savais pas que tu avait une boucle Each
tu peu récupérer l'adresse et toutes autre données avec cellule
ex:
Ligne=Cellule.rows
Colonne = Cellule.Column
Adresse =Cellule.Address
etc..
Mais je ne comprens pas où tu veux rajouter des données ? C'est sur la même ligne ? ou autre ?
Tu dit que tu veux ajouter en ligne 7 si tu a B1 ?
Pour rappel: avec Cells c'est Cells(LIGNE,COLONNE) l'inverse du Range
tu peu récupérer l'adresse et toutes autre données avec cellule
ex:
Ligne=Cellule.rows
Colonne = Cellule.Column
Adresse =Cellule.Address
etc..
Mais je ne comprens pas où tu veux rajouter des données ? C'est sur la même ligne ? ou autre ?
Tu dit que tu veux ajouter en ligne 7 si tu a B1 ?
Pour rappel: avec Cells c'est Cells(LIGNE,COLONNE) l'inverse du Range
merci je vais essayer
en faite, si le select case trouve chaussée et si en M7 j'ai par exemple "bonjour"
alors je veux qu'apparaisse deux lignes en dessous de la case chaussée "ca marche"
tu comprend?
merci a toi
en faite, si le select case trouve chaussée et si en M7 j'ai par exemple "bonjour"
alors je veux qu'apparaisse deux lignes en dessous de la case chaussée "ca marche"
tu comprend?
merci a toi