Bonjour,
Je suis débutante en VBA et j'ai fait plusieurs recherches pour écrire ce code mais il ne fonctionne pas.
Je souhaite obtenir une ligne contenant des dates situées dans des feuilles à partir de la ligne 23 (certaines feuilles ont une seule date -> ligne 23, d'autres en ont 6 ou plus (je n'ai pas regardé toutes les feuilles). Je ferai ensuite un autre code pour remplir le tableau avec les valeurs des "altitude du repère".
Je ne sais pas pourquoi j'obtiens toutes les valeurs de la colonne 1 alors que je ne souhaite récupérer que les valeurs contenues dans les cellules situées 2 lignes plus haut que celles où 'Altitude du repère" est mentionné. Et l'action ne s'effectue que pour 1 feuille.
Voici quelques feuilles en exemple et le code que j'ai utilisé.
Pourriez-vous m'aider, me donner quelques conseils ou commentaires?
Je vous remercie d'avance.
Sub creation_tableau()
'déclaration des variables
Dim ligne As Integer
Dim n As Integer
Dim valeur_cherchee As Variant
'Boucle sur toutes les feuilles
For n = 1 To 559
compteur = 8
'recherche sur toutes les lignes de la feuille
For ligne = 23 To 200
'si dans la cellule il y a "Altitude du repère ** :" alors 2 lignes plus haut, récupérer le contenu de la cellule (= date)
If ThisWorkbook.Worksheets(n).Cells(ligne, 1).Value = "Altitude du repère ** :" Then
'vérifier que la date n'est pas déja saisie
Set valeur_cherchee = Sheets("Repere_crues").Cells(1).Find(ThisWorkbook.Worksheets(n).Cells(ligne - 2, 1).Value)
'si une correspondance est trouvée, annuler l'action
If Not valeur_cherchee Is Nothing Then
End If
'sinon enregistrer la valeur dans la cellule
Else
compteur = compteur + 1
Sheets("Repere_crues").Cells(1, compteur) = ThisWorkbook.Worksheets(n).Cells(ligne - 2, 1)
End If
Next ligne
Next n
End Sub