VBA Excel 2003 Rechercher cellulle contenant variable

Le
Céline Brien
Bonjour à tous,
Un formulaire de saisie d'une part : onglet Formulaire
Un tableau de données d'autre part : onglet DATA
L'objectif est de transférer les données du formulaire au tableau.
Ci-après les codes de la macro.
Comment rechercher la cellule contenant la variable x à la douzième ligne
identifiée par ???
Merci beaucoup de votre aide précieuse,
Céline
--
Sub TransfererDonnees()
'
'
' Créer une variable avec le numéro inscrit dans le cellule B3 de l'onglet
Formulaire
Dim NoEmploye
NomVariable =
Workbooks("2009.xls").Sheets("Formulaire").Range("B3").Value
' Sélectionner l'onglet DATA
ActiveWorkbook.Sheets("DATA").Select
' Sélectionner la colonne A
Columns("A:A").Select
' Rechercher la cellule contenant le contenu de la variable NoEmploye
???
' Créer une variable avec le numéro de ligne de la cellule trouvée
y = Selection.Row
' Copier le contenu de la cellule B8 de l'onglet Formulaire
ActiveWorkbook.Sheets("Formulaire").Select
Range("B8").Select
Selection.Copy
' Coller dans la cellule EY de l'onglet DATA. Y étant la variable
ActiveWorkbook.Sheets("DATA").Select
Range("E" & y).Select
ActiveSheet.Paste

End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #19128141
bonjour Céline,

contente de te revoir, bon retour sur le groupe,

Sub Formulaire()
Dim NoEmploye
NomVariable =
Workbooks("2009.xls").Sheets("Formulaire").Range("B3").Value
With ActiveWorkbook
With .Sheets("DATA").Range("A:A")
y = .Find(What:=NomVariable, After:¬tiveCell,
LookIn:=xlValues, LookAt _
:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext,
MatchCase _
:úlse, SearchFormat:úlse).Row
End With

.Sheets("Formulaire").Range("B8").Copy .Sheets("DATA").Range("E" & y)
End With
End Sub

isabelle

Céline Brien a écrit :
Bonjour à tous,
Un formulaire de saisie d'une part : onglet Formulaire
Un tableau de données d'autre part : onglet DATA
L'objectif est de transférer les données du formulaire au tableau.
Ci-après les codes de la macro.
Comment rechercher la cellule contenant la variable x à la douzième ligne
identifiée par ???
Merci beaucoup de votre aide précieuse,
Céline
--------------------------------------------------------------------------
Sub TransfererDonnees()
'
'
' Créer une variable avec le numéro inscrit dans le cellule B3 de l'onglet
Formulaire
Dim NoEmploye
NomVariable =
Workbooks("2009.xls").Sheets("Formulaire").Range("B3").Value
' Sélectionner l'onglet DATA
ActiveWorkbook.Sheets("DATA").Select
' Sélectionner la colonne A
Columns("A:A").Select
' Rechercher la cellule contenant le contenu de la variable NoEmploye
???
' Créer une variable avec le numéro de ligne de la cellule trouvée
y = Selection.Row
' Copier le contenu de la cellule B8 de l'onglet Formulaire
ActiveWorkbook.Sheets("Formulaire").Select
Range("B8").Select
Selection.Copy
' Coller dans la cellule EY de l'onglet DATA. Y étant la variable
ActiveWorkbook.Sheets("DATA").Select
Range("E" & y).Select
ActiveSheet.Paste

End Sub





isabelle
Le #19128661
petite correction :

Sub Formulaire()
Dim NoEmploye
NomVariable = "zaza"
'Workbooks("2009.xls").Sheets("Formulaire").Range("B3").Value
With ActiveWorkbook
With .Sheets("DATA").Range("A:A")
y = .Find(What:=NomVariable, After:=.Range("A1"),
LookIn:=xlValues, LookAt _
:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext,
MatchCase _
:úlse, SearchFormat:úlse).Row
End With

.Sheets("Formulaire").Range("B8").Copy .Sheets("DATA").Range("E" & y)
End With
End Sub

isabelle

Céline Brien a écrit :

Bonjour à tous,
Un formulaire de saisie d'une part : onglet Formulaire
Un tableau de données d'autre part : onglet DATA
L'objectif est de transférer les données du formulaire au tableau.
Ci-après les codes de la macro.
Comment rechercher la cellule contenant la variable x à la douzième ligne
identifiée par ???
Merci beaucoup de votre aide précieuse,
Céline
--------------------------------------------------------------------------
Sub TransfererDonnees()
'
'
' Créer une variable avec le numéro inscrit dans le cellule B3 de l'onglet
Formulaire
Dim NoEmploye
NomVariable =
Workbooks("2009.xls").Sheets("Formulaire").Range("B3").Value
' Sélectionner l'onglet DATA
ActiveWorkbook.Sheets("DATA").Select
' Sélectionner la colonne A
Columns("A:A").Select
' Rechercher la cellule contenant le contenu de la variable NoEmploye
???
' Créer une variable avec le numéro de ligne de la cellule trouvée
y = Selection.Row
' Copier le contenu de la cellule B8 de l'onglet Formulaire
ActiveWorkbook.Sheets("Formulaire").Select
Range("B8").Select
Selection.Copy
' Coller dans la cellule EY de l'onglet DATA. Y étant la variable
ActiveWorkbook.Sheets("DATA").Select
Range("E" & y).Select
ActiveSheet.Paste

End Sub






Jacquouille
Le #19128641
Coucou Céline
Heureux de te revoir par Minou.
Jacques

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Céline Brien" news:
Bonjour à tous,
Un formulaire de saisie d'une part : onglet Formulaire
Un tableau de données d'autre part : onglet DATA
L'objectif est de transférer les données du formulaire au tableau.
Ci-après les codes de la macro.
Comment rechercher la cellule contenant la variable x à la douzième ligne
identifiée par ???
Merci beaucoup de votre aide précieuse,
Céline
--------------------------------------------------------------------------
Sub TransfererDonnees()
'
'
' Créer une variable avec le numéro inscrit dans le cellule B3 de
l'onglet Formulaire
Dim NoEmploye
NomVariable =
Workbooks("2009.xls").Sheets("Formulaire").Range("B3").Value
' Sélectionner l'onglet DATA
ActiveWorkbook.Sheets("DATA").Select
' Sélectionner la colonne A
Columns("A:A").Select
' Rechercher la cellule contenant le contenu de la variable NoEmploye
???
' Créer une variable avec le numéro de ligne de la cellule trouvée
y = Selection.Row
' Copier le contenu de la cellule B8 de l'onglet Formulaire
ActiveWorkbook.Sheets("Formulaire").Select
Range("B8").Select
Selection.Copy
' Coller dans la cellule EY de l'onglet DATA. Y étant la variable
ActiveWorkbook.Sheets("DATA").Select
Range("E" & y).Select
ActiveSheet.Paste

End Sub




Céline Brien
Le #19130241
Bonjour Isabelle,
Pour l'instant je ne fais que passer et non un retour sur le groupe.
Toutefois, une présence plus régulière dans le futur n'est pas exclue.
Je te remercie pour les codes très élégants (moins de lignes).
Ma macro fonctionne maintenant très très bien. Voir les codes ci-après.
Voici donc un formulaire qui alimente une liste de données.
Une autre macro, exécutée chaque mois, ajoute la liste des employés et leurs
numéros dans la liste des données.
Le tout représente une alternative très intéressante au Userform.
Merci encore !
Céline
----------------------------
Sub TransfererDonnees()
' Désactiver l'actualisation de l'écran (exécution plus rapide de la
macro)
Application.ScreenUpdating = False
' Désactiver le calcul automatique
Application.Calculation = xlManual
' Créer une variable avec le numéro inscrit dans le cellule B3 de l'onglet
Formulaire
NomVariable =
Workbooks("2009.xls").Sheets("Formulaire").Range("B3").Value
' Sélectionner la colonne A de l'onglet DATA
With ActiveWorkbook
With .Sheets("DATA").Range("A:A")
' Rechercher la cellule contenant la variable et créer une variable avec
le numéro de ligne de la cellule trouvée
y = .Find(What:=NomVariable, After:=.Range("A1"),
LookIn:=xlValues, LookAt _
:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext,
MatchCase _
:úlse, SearchFormat:úlse).Row
End With
' Copier le contenu des cellules de l'onglet Formulaire et coller dans
l'onglet DATA
.Sheets("Formulaire").Range("B8").Copy .Sheets("DATA").Range("E" & y)
.Sheets("Formulaire").Range("B9").Copy .Sheets("DATA").Range("F" & y)
.Sheets("Formulaire").Range("B10").Copy .Sheets("DATA").Range("G" & y)
.Sheets("Formulaire").Range("B11").Copy .Sheets("DATA").Range("H" & y)
.Sheets("Formulaire").Range("B12").Copy .Sheets("DATA").Range("I" & y)
.Sheets("Formulaire").Range("B13").Copy .Sheets("DATA").Range("J" & y)
.Sheets("Formulaire").Range("E8").Copy .Sheets("DATA").Range("L" & y)
.Sheets("Formulaire").Range("E9").Copy .Sheets("DATA").Range("M" & y)
.Sheets("Formulaire").Range("E10").Copy .Sheets("DATA").Range("N" & y)
.Sheets("Formulaire").Range("E11").Copy .Sheets("DATA").Range("O" & y)
.Sheets("Formulaire").Range("E12").Copy .Sheets("DATA").Range("P" & y)
.Sheets("Formulaire").Range("E13").Copy .Sheets("DATA").Range("Q" & y)
.Sheets("Formulaire").Range("E14").Copy .Sheets("DATA").Range("R" & y)
.Sheets("Formulaire").Range("E15").Copy .Sheets("DATA").Range("S" & y)
.Sheets("Formulaire").Range("E16").Copy .Sheets("DATA").Range("T" & y)
.Sheets("Formulaire").Range("E17").Copy .Sheets("DATA").Range("U" & y)
.Sheets("Formulaire").Range("E18").Copy .Sheets("DATA").Range("V" & y)
.Sheets("Formulaire").Range("E19").Copy .Sheets("DATA").Range("W" & y)
.Sheets("Formulaire").Range("E20").Copy .Sheets("DATA").Range("X" & y)
.Sheets("Formulaire").Range("H8").Copy .Sheets("DATA").Range("Z" & y)
.Sheets("Formulaire").Range("H9").Copy .Sheets("DATA").Range("AA" & y)
.Sheets("Formulaire").Range("H10").Copy .Sheets("DATA").Range("AB" & y)
.Sheets("Formulaire").Range("H11").Copy .Sheets("DATA").Range("AC" & y)
.Sheets("Formulaire").Range("H12").Copy .Sheets("DATA").Range("AD" & y)
.Sheets("Formulaire").Range("H13").Copy .Sheets("DATA").Range("AE" & y)
.Sheets("Formulaire").Range("H14").Copy .Sheets("DATA").Range("AF" & y)
.Sheets("Formulaire").Range("H15").Copy .Sheets("DATA").Range("AG" & y)
.Sheets("Formulaire").Range("K8").Copy .Sheets("DATA").Range("AJ" & y)
.Sheets("Formulaire").Range("K9").Copy .Sheets("DATA").Range("AK" & y)
.Sheets("Formulaire").Range("K10").Copy .Sheets("DATA").Range("AL" & y)
.Sheets("Formulaire").Range("K11").Copy .Sheets("DATA").Range("AM" & y)
.Sheets("Formulaire").Range("K12").Copy .Sheets("DATA").Range("AN" & y)
.Sheets("Formulaire").Range("N8").Copy .Sheets("DATA").Range("AO" & y)
.Sheets("Formulaire").Range("N9").Copy .Sheets("DATA").Range("AP" & y)
.Sheets("Formulaire").Range("N10").Copy .Sheets("DATA").Range("AQ" & y)
.Sheets("Formulaire").Range("N11").Copy .Sheets("DATA").Range("AR" & y)
.Sheets("Formulaire").Range("N12").Copy .Sheets("DATA").Range("AS" & y)
.Sheets("Formulaire").Range("N13").Copy .Sheets("DATA").Range("AT" & y)
.Sheets("Formulaire").Range("N14").Copy .Sheets("DATA").Range("AU" & y)
.Sheets("Formulaire").Range("N15").Copy .Sheets("DATA").Range("AV" & y)
.Sheets("Formulaire").Range("N16").Copy .Sheets("DATA").Range("AW" & y)
End With
' Activer l'actualisation de l'écran
Application.ScreenUpdating = True
' Activer le calcul automatique
Application.Calculation = xlAutomatic
End Sub

"isabelle" a écrit dans le message de news:

bonjour Céline,

contente de te revoir, bon retour sur le groupe,

Sub Formulaire()
Dim NoEmploye
NomVariable =
Workbooks("2009.xls").Sheets("Formulaire").Range("B3").Value
With ActiveWorkbook
With .Sheets("DATA").Range("A:A")
y = .Find(What:=NomVariable, After:¬tiveCell, LookIn:=xlValues,
LookAt _
:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext,
MatchCase _
:úlse, SearchFormat:úlse).Row
End With
.Sheets("Formulaire").Range("B8").Copy .Sheets("DATA").Range("E" & y)
End With
End Sub

isabelle

Céline Brien a écrit :
Bonjour à tous,
Un formulaire de saisie d'une part : onglet Formulaire
Un tableau de données d'autre part : onglet DATA
L'objectif est de transférer les données du formulaire au tableau.
Ci-après les codes de la macro.
Comment rechercher la cellule contenant la variable x à la douzième ligne
identifiée par ???
Merci beaucoup de votre aide précieuse,
Céline
--------------------------------------------------------------------------
Sub TransfererDonnees()
'
'
' Créer une variable avec le numéro inscrit dans le cellule B3 de
l'onglet Formulaire
Dim NoEmploye
NomVariable =
Workbooks("2009.xls").Sheets("Formulaire").Range("B3").Value
' Sélectionner l'onglet DATA
ActiveWorkbook.Sheets("DATA").Select
' Sélectionner la colonne A
Columns("A:A").Select
' Rechercher la cellule contenant le contenu de la variable NoEmploye
???
' Créer une variable avec le numéro de ligne de la cellule trouvée
y = Selection.Row
' Copier le contenu de la cellule B8 de l'onglet Formulaire
ActiveWorkbook.Sheets("Formulaire").Select
Range("B8").Select
Selection.Copy
' Coller dans la cellule EY de l'onglet DATA. Y étant la variable
ActiveWorkbook.Sheets("DATA").Select
Range("E" & y).Select
ActiveSheet.Paste

End Sub







Céline Brien
Le #19130231
Salut Jacquouille,
Merci de ton accueil chaleureux.
Comme je disais à Isabelle, une présence plus régulière dans ce forum si
dynamique n'est pas exclue.
Au plaisir,
Céline

"Jacquouille" news:
Coucou Céline
Heureux de te revoir par Minou.
Jacques

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Céline Brien" news:
Bonjour à tous,
Un formulaire de saisie d'une part : onglet Formulaire
Un tableau de données d'autre part : onglet DATA
L'objectif est de transférer les données du formulaire au tableau.
Ci-après les codes de la macro.
Comment rechercher la cellule contenant la variable x à la douzième ligne
identifiée par ???
Merci beaucoup de votre aide précieuse,
Céline
--------------------------------------------------------------------------
Sub TransfererDonnees()
'
'
' Créer une variable avec le numéro inscrit dans le cellule B3 de
l'onglet Formulaire
Dim NoEmploye
NomVariable =
Workbooks("2009.xls").Sheets("Formulaire").Range("B3").Value
' Sélectionner l'onglet DATA
ActiveWorkbook.Sheets("DATA").Select
' Sélectionner la colonne A
Columns("A:A").Select
' Rechercher la cellule contenant le contenu de la variable NoEmploye
???
' Créer une variable avec le numéro de ligne de la cellule trouvée
y = Selection.Row
' Copier le contenu de la cellule B8 de l'onglet Formulaire
ActiveWorkbook.Sheets("Formulaire").Select
Range("B8").Select
Selection.Copy
' Coller dans la cellule EY de l'onglet DATA. Y étant la variable
ActiveWorkbook.Sheets("DATA").Select
Range("E" & y).Select
ActiveSheet.Paste

End Sub








Jacquouille
Le #19132531
Tu sais qu'il y a toujours de la lumière dans la maison pour accueillir les
gens sympas.


--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Céline Brien" news: O5vS$
Salut Jacquouille,
Merci de ton accueil chaleureux.
Comme je disais à Isabelle, une présence plus régulière dans ce forum si
dynamique n'est pas exclue.
Au plaisir,
Céline

"Jacquouille" news:
Coucou Céline
Heureux de te revoir par Minou.
Jacques

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Céline Brien" news:
Bonjour à tous,
Un formulaire de saisie d'une part : onglet Formulaire
Un tableau de données d'autre part : onglet DATA
L'objectif est de transférer les données du formulaire au tableau.
Ci-après les codes de la macro.
Comment rechercher la cellule contenant la variable x à la douzième
ligne identifiée par ???
Merci beaucoup de votre aide précieuse,
Céline
--------------------------------------------------------------------------
Sub TransfererDonnees()
'
'
' Créer une variable avec le numéro inscrit dans le cellule B3 de
l'onglet Formulaire
Dim NoEmploye
NomVariable =
Workbooks("2009.xls").Sheets("Formulaire").Range("B3").Value
' Sélectionner l'onglet DATA
ActiveWorkbook.Sheets("DATA").Select
' Sélectionner la colonne A
Columns("A:A").Select
' Rechercher la cellule contenant le contenu de la variable NoEmploye
???
' Créer une variable avec le numéro de ligne de la cellule trouvée
y = Selection.Row
' Copier le contenu de la cellule B8 de l'onglet Formulaire
ActiveWorkbook.Sheets("Formulaire").Select
Range("B8").Select
Selection.Copy
' Coller dans la cellule EY de l'onglet DATA. Y étant la variable
ActiveWorkbook.Sheets("DATA").Select
Range("E" & y).Select
ActiveSheet.Paste

End Sub












Publicité
Poster une réponse
Anonyme