VBA
Fermé
la pioche
-
10 févr. 2009 à 18:11
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 11 févr. 2009 à 19:02
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 11 févr. 2009 à 19:02
9 réponses
Utilisateur anonyme
10 févr. 2009 à 23:00
10 févr. 2009 à 23:00
Bonjour,
ça donnerais quelque chose comme :
trottoir.Offset(0,2).Value
Lupin
ça donnerais quelque chose comme :
trottoir.Offset(0,2).Value
Lupin
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
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
11 févr. 2009 à 13:44
11 févr. 2009 à 13:44
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
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
11 févr. 2009 à 18:40
11 févr. 2009 à 18:40
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
cela marche pour colonne et adresse mais pas pour ligne
Ligne=Cellule.rows me renvoie la valeur de la cellule
Ligne=Cellule.rows me renvoie la valeur de la cellule
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
11 févr. 2009 à 19:02
11 févr. 2009 à 19:02
J'ai peut-être compris ?
If range("M7") = "Bonjour" then Cellule.Offset(2,0).value = "Ca marche"
If range("M7") = "Bonjour" then Cellule.Offset(2,0).value = "Ca marche"