la pioche
-
Bidouilleu_R
Messages postés1181Date d'inscriptionStatutMembreDernière intervention
-
Bonjour,
j'ai un petit problème
j'ai une procédure qui me permet de faire le lien entre une feuille de saisie excel et une base de donnée
Cette procédure est simplement la pour actionner celle d'après
<code>Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
Case "$N$9"
Dim Plage As Range, Intersection As Range
'Lorsque l'on touche en N9 cela appelle nos procédures
'Définition de cellule
Set Plage = Range("N9")
Set Intersection = Application.Intersect(Target, Plage)
Colonne = Target.Column
Ligne = Target.Row
If Not (Intersection Is Nothing) Then
Call RepportStructure(Target)
End If
End sub
'Procédure de lien entre le choix de l'opérateur dans la feuille de choix et celle de la base de donnée
Sub RepportStructure(cible As Range)
Dim Cellule1, TypeStructure, Structure, Ligne1, Colonne1, Colonne2, Ligne2 As Variant
If cible <> "" Then
Structure = Cells(Ligne, Colonne - 1)
For Each Cellule1 In Worksheets("BDVoirie").Range("essai")
If Cellule1 = cible Then
Colonne2 = Cellule1.Column
Ligne2 = Cellule1.Row
'Comment lui dire de faire la recherche dans la plage de cellule grace au variable Ligne2 et Colonne2
'Par exemple si Ligne2 = 1 et Colonne2 = 1
'il faut que ma recherche s'éxécute de A3 a P3
'Si Ligne2 = 11 et Colonne2 = 1
'il faut que ma recherche s'éxécute de A13 a P13
For Each TypeStructure In Worksheets("BDVoirie").Range(Structure)
If TypeStructure = cible Then
Colonne1 = TypeStructure.Column
Ligne1 = TypeStructure.Row
'Recopie les cellules de la base de donnée vers la feuille de saisie
Sheets("Donnée chaussée").Cells(Ligne + 2, Colonne - 1).Value = Sheets("BDVoirie").Cells(Ligne1 + 2, Colonne1).Value
Sheets("Donnée chaussée").Cells(Ligne + 3, Colonne - 1).Value = Sheets("BDVoirie").Cells(Ligne1 + 3, Colonne1).Value
Sheets("Donnée chaussée").Cells(Ligne + 4, Colonne - 1).Value = Sheets("BDVoirie").Cells(Ligne1 + 4, Colonne1).Value
Sheets("Donnée chaussée").Cells(Ligne + 5, Colonne - 1).Value = Sheets("BDVoirie").Cells(Ligne1 + 5, Colonne1).Value
Sheets("Donnée chaussée").Cells(Ligne + 2, Colonne + 1).Value = Sheets("BDVoirie").Cells(Ligne1 + 2, Colonne1 + 2).Value
Sheets("Donnée chaussée").Cells(Ligne + 3, Colonne + 1).Value = Sheets("BDVoirie").Cells(Ligne1 + 3, Colonne1 + 2).Value
Sheets("Donnée chaussée").Cells(Ligne + 4, Colonne + 1).Value = Sheets("BDVoirie").Cells(Ligne1 + 4, Colonne1 + 2).Value
Sheets("Donnée chaussée").Cells(Ligne + 5, Colonne + 1).Value = Sheets("BDVoirie").Cells(Ligne1 + 5, Colonne1 + 2).Value
End If
Next
End If
Next
End If
End Sub
</code>
merci
'Comment lui dire de faire la recherche dans la plage de cellule grace au variable Ligne2 et Colonne2
'Par exemple si Ligne2 = 1 et Colonne2 = 1
'il faut que ma recherche s'éxécute de A3 a P3
'Si Ligne2 = 11 et Colonne2 = 1
'il faut que ma recherche s'éxécute de A13 a P13
pour SELECTIONNER ou NOMMER ta zone de recherche
tu fais
Range("A1").Offset(ligne2 + 2, colonne2).Resize(1, 16).Select
Le reste c'est comme tu as fais.