Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA Excel 2003 Rechercher cellulle contenant variable

6 réponses
Avatar
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

6 réponses

Avatar
isabelle
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





Avatar
isabelle
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






Avatar
Jacquouille
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" a écrit dans le message de
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




Avatar
Céline Brien
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







Avatar
Céline Brien
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" a écrit dans le message de
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" a écrit dans le message de
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








Avatar
Jacquouille
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" a écrit dans le message de
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" a écrit dans le message de
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" a écrit dans le message de
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