• Initiateur de la discussion Initiateur de la discussion MARIE
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

MARIE

Guest
BONJOUR A TOUS

Dans cet extrait d'une application je fais la mise a jour de la colonne C de ma base de données avec ce code ,Est il possible de simplifier ou de faire ceci avec une formule ,je précise que l'ordre de la colonne A est aléatoire suivant l'ajout ou la suppression d'une fiche de données

Merci pour vos réponses et bonne journée à tous

Sub macro1()
Dim x As String

Application.ScreenUpdating = False
Sheets("BASE").Select
ActiveSheet.Unprotect

If Worksheets("BASE").Range("a5") > ("1") Then
x = Worksheets("BASE").Range("a5").Value
Sheets("BASE").Range("C5") = Worksheets(x).Range("A1")

If Worksheets("BASE").Range("a6") > ("1") Then
x = Worksheets("BASE").Range("a6").Value
Sheets("BASE").Range("C6") = Worksheets(x).Range("A1")

If Worksheets("BASE").Range("a7") > ("1") Then
x = Worksheets("BASE").Range("a7").Value
Sheets("BASE").Range("C7") = Worksheets(x).Range("A1")

If Worksheets("BASE").Range("a8") > ("1") Then
x = Worksheets("BASE").Range("a8").Value
Sheets("BASE").Range("C8") = Worksheets(x).Range("A1")

If Worksheets("BASE").Range("a9") > ("1") Then
x = Worksheets("BASE").Range("a8").Value
Sheets("BASE").Range("C9") = Worksheets(x).Range("A1")

If Worksheets("BASE").Range("a10") > ("1") Then
x = Worksheets("BASE").Range("a8").Value
Sheets("BASE").Range("C10") = Worksheets(x).Range("A1")
'etc.
End If
End If
End If
End If
End If
End If
Range("a1").Select
Application.ScreenUpdating = True
End Sub
 

Pièces jointes

bonjour Marie,

a priori ce code fonctionne

Sub macro1()
Dim x As String

Application.ScreenUpdating = False
Sheets("BASE").Select
ActiveSheet.Unprotect
For cpt = 5 To 24
If Worksheets("BASE").Cells(cpt, 1) > ("1") Then
x = Worksheets("BASE").Cells(cpt, 1).Value
Sheets("BASE").Cells(cpt, 3) = Worksheets(x).Range("A1")


End If
Next
Range("a1").Select

Application.ScreenUpdating = True


End Sub


Bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
264
Réponses
1
Affichages
270
Retour