Re : Carte de france
Bonsour®
Modeste Geedee est-ce que tu peux m'expliquer un petit plus sur ton code ? que je comprenne bien toute la logique.
[Highlight=VB]
Sub Macro1()
Dim noDpt As Integer, Ligne As Integer, Colonne As Integer
Dim c As Range, FirstAddress As String
' ---------------------------------récuperation du N°dept issu de la selection
' ---------------------------------voir module de feuille Sht_Fra : Sub Cbx_Dpt_Click()
noDpt = [q14]
' ---------------------------------blocage rafraichissement écran(clignotement)
Application.ScreenUpdating = False
' -------------------------------- effacement de la palge de réception
Sheets("France").[K15:q45].ClearContents
' -------------------------------- la source est la plage de de données de la feuille liste
With Worksheets("liste").Range("a1:a100")
' --------------------------------code adapté de l'aide en ligne
' -------ms-help://MS.EXCEL.DEV.12.1036/EXCEL.DEV/content/HV10062997.htm
' --------------------------------recherche NoDpt dans valeurs, cellule complete
Set c = .Find(noDpt, LookIn:=xlValues, lookat:=xlWhole)
' --------------------------------correspondance trouvée
If Not c Is Nothing Then
'--------------------------------- initialisation ligne cible
Ligne = 15
' --------------------------------première adresse trouvée
FirstAddress = c.Address
' -------------------------------- bouclage sur les colonnes pour récuperer les données
Do
For Colonne = 1 To 6 ' ---il y a 6 colonnes de données
' ----------------------- ecriture cible décaleé de 10 colonnes / à la colonne lue
Sheets("France").Cells(Ligne, Colonne + 10) = c.Offset(0, Colonne)
Next
' ----------------------- ecriture NoDpt pour rappel
Sheets("France").Cells(Ligne, 17) = noDpt
' -------------------------recherche suivante
Ligne = Ligne + 1 ' -- prépositionnement ligne cible suivante
' -------------------------rechercheche suivante selon parametre Find initial
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> FirstAddress
' --------------------------sortie de recherche si adresse trouvée identique à premiere
End If
End With
' -------------------------réactivation rafraichissement écran
Application.ScreenUpdating = True
End Sub
[/code]