Rechercher : dans
Par :

Aide VBA récupérer une cellule

Dernière réponse le 6 fév 2009 à 21:48:59 la pioche, le 4 fév 2009 à 18:42:00 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 3.0.5

Meilleures réponses pour « aide VBA récupérer une cellule » dans :
Sélection de cellules VoirSélection de cellules Un tableur est un formidable outil de manipulation de données. Qu’il s’agisse toutefois de référencer des cellules isolées ou des plages de cellules, que ce soit pour les besoins d’une formule, pour leur attribuer un format de...
VBScript - Les fonctions de date et de temps VoirLes fonctions de date et de temps Fonction Description Date Retourne la date du système DateAdd(interval, number, date) Ajoute un intervalle de temps (interval) à une...

1

la pioche, le 5 fév 2009 à 08:30:25

Personne ne peut m'aider!

Répondre à la pioche

2

Bidouilleu_R, le 5 fév 2009 à 09:52:18

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"

Répondre à Bidouilleu_R

3

la pioche, le 5 fév 2009 à 09:58:54

Ok mais comment faire pour récupérer le nom de cette cellule c'est a dire A1 ou M1 pour pouvoir ensuite l'utiliser

Répondre à la pioche

4

lermite222, le 5 fév 2009 à 10:13:57

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.

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+

L'expérience instruit plus sûrement que le conseil. (André Gide)  
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)

Répondre à lermite222

5

la pioche, le 5 fév 2009 à 16:00:57

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

Répondre à la pioche

6

lermite222, le 5 fév 2009 à 20:54:58

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+ L'expérience instruit plus sûrement que le conseil. (André Gide)  
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)

Répondre à lermite222

7

lermite222, le 6 fév 2009 à 01:10:18

Hummm, sais pas où j'avais la tête quand je t'ai répondu...

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+
L'expérience instruit plus sûrement que le conseil. (André Gide)  
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)

Répondre à lermite222

8

la pioche, le 6 fév 2009 à 17:21:02

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"

Répondre à la pioche

9

 lermite222, le 6 fév 2009 à 17:29:09

Le plus simple, mettre un exemple de ton classeur sur Cjoint.com et mettre le lien sur un poste suivant (en xls Svp)
A+ L'expérience instruit plus sûrement que le conseil. (André G­ide)  
Si tu te cogne à un pot et que ça sonne creux, c'est pas for­cément le pot qui est vide. ;-)(Confucius)

Répondre à lermite222