Résolu Conditionnelle et recherche feuille

  • Auteur de la discussion johnshark
  • Date de début

johnshark

Nouveau membre
Bonjour,
j'ai une feuille "obs1"(active) et des feuilles bilans dont l'intitulé est nom et prénom (donc c'est très variable),
je souhaiterais créer une macro qui vérifierait si la cellule "B2" (qui est le nom de l'individu") dans chaque feuille est équivalente à celle de la colonne 1 de"obs1" (dans mon exemple de code la ligne 7, mais il me faudrait une boucle à vrai dire) :
[cpp]Private Sub CommandButton2_Click()
For Each Sheet In ActiveWorkbook
If ActiveSheet.Cells(7, 1).Text = Worksheet.Range("B2").Text Then
Sheet.Range("C3").Value = ActiveSheet.Range("7,3").Text
End If
Next Sheet
End Sub[/cpp]
J'ai un rapport d'erreur sur la première ligne du code... quelqu'un pourrait-il m'aider? J'ai oublié de dire mais cela doit se voir dans mon code, je suis débutant.

Merci d'avance
 

zeb

Modérateur
Meilleure réponse
Eh ben ! C'est effectivement du code de débutant. Mais c'est aussi du code que tu ne comprends pas du tout. Et tu mélanges tout.

Pour utiliser un For Each, il faut une collection d'objet dans laquelle itérer.
ActiveWorkbook, c'est le classeur actif.
La collection des onglets du classeur, c'est ActiveWorkbook.Sheets.

Il est plus intelligent de se restreindre aux seules feuilles de calcul (on ne tient pas compte des graphiques) : ActiveWorkbook.Worksheets

Ensuite, mets toi d'accord avec toi-même, utilise soit la notation Cells(Row, Col), soit la notation Range("A1").

Et puis il faut vérifier que la feuille sur laquelle on écrit n'est pas celle dont on se sert de référence. Sauf à vouloir le faire exprès.
Code:
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
	If Not ws Is ActiveSheet Then
		If ActiveSheet.Range("A7").Value = ws.Range("B2").Value Then
  		ws.Range("C3").Value = ActiveSheet.Range("C7").Value
		End If
	End If
Next
 

johnshark

Nouveau membre
Bonjour,
merci pour toutes ces explications. Je comprends mieux pourquoi cela ne marchait pas.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 136
Messages
6 718 137
Membres
1 586 399
Dernier membre
mehdivil59
Partager cette page
Haut