Ouverture de macro vba sur un nouveau poste
Résolu/Fermé
Co_nexion
Messages postés
328
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
15 juillet 2015
-
Modifié par Co_nexion le 18/06/2012 à 21:30
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 19 juin 2012 à 10:05
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 19 juin 2012 à 10:05
A voir également:
- Ouverture de macro vba sur un nouveau poste
- Comment créer un nouveau groupe sur whatsapp - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Acheter colis perdu poste - Accueil - Services en ligne
- Nouveau site coco chat - Accueil - Réseaux sociaux
- Nouveau outlook - Accueil - Mail
1 réponse
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
Modifié par pijaku le 19/06/2012 à 10:06
Modifié par pijaku le 19/06/2012 à 10:06
Bonjour,
Si DCLA est une variable, avant de tester (If DCLA > 1), il te faut :
1- la déclarer,
2- lui affecter une valeur.
Dans ton cas, DCLA est une valeur numérique donc de type Long (le nombre de ligne pouvant en effet être trop important pour une variable de type Integer, surtout depuis les versions > 2007), de plus, tu as laissé l'apostrophe en début de la ligne ou tu affectes une valeur à DCLA, donc essaye (les modifs en gras) :
Cordialement,
Franck P
Si DCLA est une variable, avant de tester (If DCLA > 1), il te faut :
1- la déclarer,
2- lui affecter une valeur.
Dans ton cas, DCLA est une valeur numérique donc de type Long (le nombre de ligne pouvant en effet être trop important pour une variable de type Integer, surtout depuis les versions > 2007), de plus, tu as laissé l'apostrophe en début de la ligne ou tu affectes une valeur à DCLA, donc essaye (les modifs en gras) :
'Mettre à jour les cycles Dim Derlig As Long, i As Long, DCLA As Long With Sheets("FTP") Derlig = .Range("L" & Rows.Count).End(xlUp).Row For i = 2 To Derlig 'If .Range("N" & i) < .Range("W" & i) Then ' ou If .Cells(i, 14) < .Cells(1, 23) Then .Range("L" & i) = .Range("N" & i) + 1 ' ou '.Cells(i, 12) = .Cells(i, 14) + 1 .Range("N" & i) = .Range("L" & i) + .Range("M" & i) ' ou '.Cells(i, 14) = .Cells(i, 12) + .Cells(i, 13) End If Next i End With 'Test pour contrat(s) mois en cours 'pour la dernière ligne de la colonne A DCLA = Worksheets("CDD_Fin_de_Contrat").Range("A" & Rows.Count).End(xlUp).Row If DCLA > 1 Then 'Worksheets("CDD_Fin_de_Contrat").Range("A2:N" & DCLA).ClearContents Worksheets("CDD_Fin_de_Contrat").Range("A2:N29").ClearContents End If 'pour la dernière ligne de la colonne A DCLA = Worksheets("CDD").Range("A" & Rows.Count).End(xlUp).Row ReDim NumLigne(DCLA) 'Copie donnees pour tri et listbox Worksheets("CDD_Fin_de_Contrat").Range("A2:N" & DCLA) = Worksheets("CDD").Range("A2:N" & DCLA).Value 'Mois pour test Mois_Courant = Format(Date, "mm") 'Pointeur pour recherche x = 2 Rangee = 2 Worksheets("CDD_Fin_de_Contrat").Activate Application.ScreenUpdating = False With Worksheets("CDD_Fin_de_Contrat") Do While .Cells(x, "G") <> "" If Format(CDate(.Cells(x, "G")), "mm") <> Mois_Courant Then Rows(x & ":" & x).Delete xlUp x = x - 1 Else NumLigne(x - 2) = Rangee End If x = x + 1 Rangee = Rangee + 1 Loop 'pour la dernière ligne de la colonne A DCLA = .Range("A" & Rows.Count).End(xlUp).Row 'Fin selection If DCLA = 1 And .Range("A2") = "" Then Me.CommandButton9.Enabled = False Exit Sub Else Me.CommandButton9.Enabled = True End If End With Application.ScreenUpdating = True End Sub
Cordialement,
Franck P