Correction code en VBA excell
Résolu
hakimr
Messages postés
259
Date d'inscription
Statut
Membre
Dernière intervention
-
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je veux bien corriger code :
Sub Groupe59_QuandClic()
Dim sh As Worksheet
Dim L As Hyperlink
Dim exclapos As Integer
Dim strFPrec As String
ActiveSheet.Copy after:=Sheets(Sheets.Count)
If [C7].Value = 12 Then
[C7].Value = 1
[a6].Value = [a6].Value + 1
[K1636].Value = 0
Else
[C7].Value = [C7].Value + 1
[K1636].Value = [K1638].Value
End If
If [C7].Value = 1 Then
[C1674].Value = 0
[K1636].Value = 0
[B833].Value = 0
[A7].Value = [A7].Value + 1
[A837].Value = [A837].Value + 1
Else
[C1674].Value = [C1673].Value
[B833].Value = [D833].Value
End If
[A832].Value = [C832].Value
[D1674].Value = [E1673].Value
[E833].Value = [E832].Value
test = Application.Proper(Format(Range("e768"), "mmm-yyyy"))
ActiveSheet.Name = test
'On défini la feuille active
If [C7].Value = 12 Then
ActiveSheet.Shapes("Clôture").Visible = True
Else
ActiveSheet.Shapes("Clôture").Visible = False
End If
Set sh = ActiveSheet
Debug.Print (sh.Name)
'On boucle sur chaque lien de la feuille
For Each L In sh.Hyperlinks
'On trouve l'emplacement du !
exclapos = InStr(1, L.SubAddress, "!", vbTextCompare)
'Nom de la feuille précédente
strFPrec = Mid(L.SubAddress, 1, exclapos - 1)
'On remplace par le nom de la feuille actuelle
L.SubAddress = Replace(L.SubAddress, strFPrec, "'" & sh.Name & "'")
Next
Select Case [C7].Value
Case Is = 3, 5, 8, 11
ActiveSheet.Shapes("Groupe 55").Visible = True
ActiveSheet.Shapes("Picture 863").Visible = True
Case Else
ActiveSheet.Shapes("Groupe 55").Visible = False
ActiveSheet.Shapes("Picture 863").Visible = False
End Select
End Sub.
ça marche bien mais lors d'inserrer ou bien supprimer des lignes il ya transmission de faux valeurs.
merci.
je veux bien corriger code :
Sub Groupe59_QuandClic()
Dim sh As Worksheet
Dim L As Hyperlink
Dim exclapos As Integer
Dim strFPrec As String
ActiveSheet.Copy after:=Sheets(Sheets.Count)
If [C7].Value = 12 Then
[C7].Value = 1
[a6].Value = [a6].Value + 1
[K1636].Value = 0
Else
[C7].Value = [C7].Value + 1
[K1636].Value = [K1638].Value
End If
If [C7].Value = 1 Then
[C1674].Value = 0
[K1636].Value = 0
[B833].Value = 0
[A7].Value = [A7].Value + 1
[A837].Value = [A837].Value + 1
Else
[C1674].Value = [C1673].Value
[B833].Value = [D833].Value
End If
[A832].Value = [C832].Value
[D1674].Value = [E1673].Value
[E833].Value = [E832].Value
test = Application.Proper(Format(Range("e768"), "mmm-yyyy"))
ActiveSheet.Name = test
'On défini la feuille active
If [C7].Value = 12 Then
ActiveSheet.Shapes("Clôture").Visible = True
Else
ActiveSheet.Shapes("Clôture").Visible = False
End If
Set sh = ActiveSheet
Debug.Print (sh.Name)
'On boucle sur chaque lien de la feuille
For Each L In sh.Hyperlinks
'On trouve l'emplacement du !
exclapos = InStr(1, L.SubAddress, "!", vbTextCompare)
'Nom de la feuille précédente
strFPrec = Mid(L.SubAddress, 1, exclapos - 1)
'On remplace par le nom de la feuille actuelle
L.SubAddress = Replace(L.SubAddress, strFPrec, "'" & sh.Name & "'")
Next
Select Case [C7].Value
Case Is = 3, 5, 8, 11
ActiveSheet.Shapes("Groupe 55").Visible = True
ActiveSheet.Shapes("Picture 863").Visible = True
Case Else
ActiveSheet.Shapes("Groupe 55").Visible = False
ActiveSheet.Shapes("Picture 863").Visible = False
End Select
End Sub.
ça marche bien mais lors d'inserrer ou bien supprimer des lignes il ya transmission de faux valeurs.
merci.
Configuration: Windows / Chrome 49.0.2623.112
A voir également:
- Correcteur code vba en ligne
- Code ascii - Guide
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
4 réponses
Bonjour,
Merci du retour. Je pense que dans se cas vous devez créer pour chaque cellules une variable qui vous permet d'ajouter ou soustraire le nombre de ligne .
Exemple VA8 correspond l'adresse :A837 je supprime 2 lignes donc VA8 ="[A"&837-2] et ainsi de suite.
Une autre possibilité est de nommée toutes vos cellules et dans le code vous utilisez les noms des cellules; à vous de tester (pas de classeur pour le faire.)
Merci du retour. Je pense que dans se cas vous devez créer pour chaque cellules une variable qui vous permet d'ajouter ou soustraire le nombre de ligne .
Exemple VA8 correspond l'adresse :A837 je supprime 2 lignes donc VA8 ="[A"&837-2] et ainsi de suite.
Une autre possibilité est de nommée toutes vos cellules et dans le code vous utilisez les noms des cellules; à vous de tester (pas de classeur pour le faire.)
Bonjour,
En premier, le code se mets entre les balises de code
Expl:
Vous dite : je veux bien corriger code : alors c'est quoi qui ne marche pas et où?
En premier, le code se mets entre les balises de code
Expl:
Sub Groupe59_QuandClic()
Dim sh As Worksheet
Dim L As Hyperlink
Dim exclapos As Integer
Dim strFPrec As String
ActiveSheet.Copy after:=Sheets(Sheets.Count)
If [C7].Value = 12 Then
Vous dite : je veux bien corriger code : alors c'est quoi qui ne marche pas et où?
Bonjour
ca marche mais avant d’exécuter le code en cliquant sur le bouton et si je supprime ou inserrer des lignes par exemple [A837].Value = [A837].Value + 1 donne a fausse valeur(cad A837 deviend A838 ou A836)
les lignes du N°769 j'usqua ligne N°1700 parfois je supprime ou bien j'inserre des lignes avant d'executer le code.
merci.
ca marche mais avant d’exécuter le code en cliquant sur le bouton et si je supprime ou inserrer des lignes par exemple [A837].Value = [A837].Value + 1 donne a fausse valeur(cad A837 deviend A838 ou A836)
les lignes du N°769 j'usqua ligne N°1700 parfois je supprime ou bien j'inserre des lignes avant d'executer le code.
merci.