Aide VBA récupérer une cellule
la pioche
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je fais appel a vos connaissances car je voudrais récupérer la cellule sur lequel le select case s'est arrété
mon programme:
Sub essai()
Dim Cellule As Range
For Each Cellule In Range("essai1")
Select Case Cellule.Value
Case "Chaussée" 'exemple chaussée est en A1
If Cells(7, 13) = "Trafic Normal GB3" Then
A2= "2,5 cm BBTM + 4cm BBSG"
A3 = "2.5"
B2 = "Grave Bitume classe 3 0/14"
B3 = "9"
C2= "Grave Bitume classe 3 0/14"
C3 = "10"
End If
Case "Caniveau"
If Cells(8, 9) = "Trafic Normal EME2" Then
Cells(12, 9) = "eeee"
End If
End Select
Next
End Sub
Sub essai()
Dim Cellule As Range
For Each Cellule In Range("essai1")
Select Case Cellule.Value
Case "Chaussée" 'exemple chaussée est en M1
If Cells(7, 13) = "Trafic Normal GB3" Then
N2= "2,5 cm BBTM + 4cm BBSG"
N3 = "2.5"
O2 = "Grave Bitume classe 3 0/14"
O3 = "9"
P2= "Grave Bitume classe 3 0/14"
P3 = "10"
End If
Case "Caniveau"
If Cells(8, 9) = "Trafic Normal EME2" Then
Cells(12, 9) = "eeee"
End If
End Select
Next
End Sub
merci
je fais appel a vos connaissances car je voudrais récupérer la cellule sur lequel le select case s'est arrété
mon programme:
Sub essai()
Dim Cellule As Range
For Each Cellule In Range("essai1")
Select Case Cellule.Value
Case "Chaussée" 'exemple chaussée est en A1
If Cells(7, 13) = "Trafic Normal GB3" Then
A2= "2,5 cm BBTM + 4cm BBSG"
A3 = "2.5"
B2 = "Grave Bitume classe 3 0/14"
B3 = "9"
C2= "Grave Bitume classe 3 0/14"
C3 = "10"
End If
Case "Caniveau"
If Cells(8, 9) = "Trafic Normal EME2" Then
Cells(12, 9) = "eeee"
End If
End Select
Next
End Sub
Sub essai()
Dim Cellule As Range
For Each Cellule In Range("essai1")
Select Case Cellule.Value
Case "Chaussée" 'exemple chaussée est en M1
If Cells(7, 13) = "Trafic Normal GB3" Then
N2= "2,5 cm BBTM + 4cm BBSG"
N3 = "2.5"
O2 = "Grave Bitume classe 3 0/14"
O3 = "9"
P2= "Grave Bitume classe 3 0/14"
P3 = "10"
End If
Case "Caniveau"
If Cells(8, 9) = "Trafic Normal EME2" Then
Cells(12, 9) = "eeee"
End If
End Select
Next
End Sub
merci
A voir également:
- Aide VBA récupérer une cellule
- Recuperer message whatsapp supprimé - Guide
- Comment recuperer une video sur youtube - Guide
- Excel compter cellule couleur sans vba - Guide
- Excel cellule couleur si condition texte - Guide
- Récupérer mon compte facebook désactivé - Guide
6 réponses
tu utilises une boucle for each
ce qui signifie que toutes les cellules de la plage "essai1" seront parcourues
donc la dernière infos affichée correspondra à la dernière données vrai renvoyée par le select case.
et la dernière cellule parcourue est celle qui est en bas et à droite de la plage "essai1"
ce qui signifie que toutes les cellules de la plage "essai1" seront parcourues
donc la dernière infos affichée correspondra à la dernière données vrai renvoyée par le select case.
et la dernière cellule parcourue est celle qui est en bas et à droite de la plage "essai1"
Bonjour,
Il n'y a pas d'erreur dans ta macros. Certainement une erreur dans les libellés des texte, pour voir ce qu'il y a dedans ajoute 2 stop
Et surtout indenter le code permet de mieux le visualiser.
Quand c'est arréter sur un stop promener la souris au dessus des mots et normalement une bulle affiche ce qui est dedans, si pas, taper dans la fenêtre exécution
par exemple:
Print Cellule.Value
ou encore
Print Cells(7, 13)
Tu dis..
A+
Il n'y a pas d'erreur dans ta macros. Certainement une erreur dans les libellés des texte, pour voir ce qu'il y a dedans ajoute 2 stop
Et surtout indenter le code permet de mieux le visualiser.
Sub essai() Dim Cellule As Range For Each Cellule In Range("essai1") Select Case Cellule.Value Case "Chaussée" 'exemple chaussée est en A1 Stop If Cells(7, 13) = "Trafic Normal GB3" Then A2 = "2,5 cm BBTM + 4cm BBSG" A3 = "2.5" B2 = "Grave Bitume classe 3 0/14" B3 = "9" C2 = "Grave Bitume classe 3 0/14" C3 = "10" End If Case "Caniveau" Stop If Cells(8, 9) = "Trafic Normal EME2" Then Cells(12, 9) = "eeee" End If End Select Next End Sub
Quand c'est arréter sur un stop promener la souris au dessus des mots et normalement une bulle affiche ce qui est dedans, si pas, taper dans la fenêtre exécution
par exemple:
Print Cellule.Value
ou encore
Print Cells(7, 13)
Tu dis..
A+
nan mais en faite moi je recherche a récuperer la cellule sur lequel le select case s'est arrété et ensuite que cela me copie quelque chose sur les cellules situé en dessous de la cellule en question
exemple:
-cas 1
le select case s'arrète sur chaussée qui est en A1
alors A2 = "bonjour"
-cas 2
le select case s'arrète sur chaussée qui est cette fois ci en B1
alors B2 =" bonjour"
je suis désoler ce n'était pas vraiment clair auparavant
merci
exemple:
-cas 1
le select case s'arrète sur chaussée qui est en A1
alors A2 = "bonjour"
-cas 2
le select case s'arrète sur chaussée qui est cette fois ci en B1
alors B2 =" bonjour"
je suis désoler ce n'était pas vraiment clair auparavant
merci
Mais si, c'était parfaitement clair et ta macros fait ça parfaitement, c'est certainement une erreur au niveau des conditions, il arrive souvent qu'il y ai un espace supplémentaire ou en moins, ou majuscule/minuscule etc..
C'est pour cela que je t'ai conseillé de mettre un stop ET DE REGARDER OU EST L'ERREUR.
Si tu ne trouve pas, tu peu mettre ton classeur sur Cjoint.com et mettre le lien dans un poste suiva&nt.
A+
C'est pour cela que je t'ai conseillé de mettre un stop ET DE REGARDER OU EST L'ERREUR.
Si tu ne trouve pas, tu peu mettre ton classeur sur Cjoint.com et mettre le lien dans un poste suiva&nt.
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Hummm, sais pas où j'avais la tête quand je t'ai répondu...
A+
Sub essai() Dim Cellule As Range For Each Cellule In Range("essai1") Select Case Cellule.Value Case "Chaussée" 'exemple chaussée est en A1 ' Stop If Cells(7, 13) = "Trafic Normal GB3" Then Range("A2") = "2,5 cm BBTM + 4cm BBSG" Range("A3") = "2.5" Range("B2") = "Grave Bitume classe 3 0/14" Range("B3") = "9" Range("C2") = "Grave Bitume classe 3 0/14" Range("C3") = "10" End If Case "Caniveau" ' Stop If Cells(8, 9) = "Trafic Normal EME2" Then Cells(12, 9) = "eeee" End If End Select Next End Sub
A+
merci a toi lermite222 de prendre un peu de ton temps.
mais en faite le truck c'est que ma procédure fonctionne mais pas comme je voudrais
en faite l'emplacement de la case chaussée est variable et je veux que cela recopie ceci
en dessous de la case chaussée qui peut être en A1, B1 ou C1 .....
"2.5"
"Grave Bitume classe 3 0/14"
"9"
"Grave Bitume classe 3 0/14"
"10"
mais en faite le truck c'est que ma procédure fonctionne mais pas comme je voudrais
en faite l'emplacement de la case chaussée est variable et je veux que cela recopie ceci
en dessous de la case chaussée qui peut être en A1, B1 ou C1 .....
"2.5"
"Grave Bitume classe 3 0/14"
"9"
"Grave Bitume classe 3 0/14"
"10"