Macro pour la mise à jour
Résolu/Fermé
lali
-
4 août 2008 à 15:39
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 - 5 août 2008 à 22:45
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 - 5 août 2008 à 22:45
A voir également:
- Macro pour la mise à jour
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mise a jour chromecast - Accueil - Guide TV et vidéo
- Mise a jour kindle - Guide
- Mise a jour windows 7 - Accueil - Mise à jour
7 réponses
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
4 août 2008 à 15:45
4 août 2008 à 15:45
Bonjour à toi.
Qu'entends-tu par mise à jour? Peux tu nous décrire un peux plus tes souhaits?
Qu'entends-tu par mise à jour? Peux tu nous décrire un peux plus tes souhaits?
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
5 août 2008 à 09:33
5 août 2008 à 09:33
Ok, bonne chance.
N'hésite pas à afficher ton code en cas de problème.
N'hésite pas à afficher ton code en cas de problème.
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
5 août 2008 à 10:54
5 août 2008 à 10:54
Voilà, moi j'ai ça, ça marche plutôt bien:
Private Sub CommandButton1_Click()
Dim cell1, cell2 As String
Dim i, j, k As Integer
k = 0
For i = 1 To 5
cell1 = Replace("A" + Str(i), " ", "")
For j = 2 To 5
cell2 = Replace("A" + Str(j), " ", "")
If cell1 <> cell2 And Range(cell1).Value = Range(cell2).Value Then
Rows(j).Delete shift:=xlUp
k = k + 1
End If
Next j
Next i
If k <> 0 Then
MsgBox Sqr(k) & " ligne(s) supprimée(s)"
Else
MsgBox "Aucun Doublon"
End If
End Sub
Ca va me servir à moi aussi, donc je me suis dépéché de le faire.
Private Sub CommandButton1_Click()
Dim cell1, cell2 As String
Dim i, j, k As Integer
k = 0
For i = 1 To 5
cell1 = Replace("A" + Str(i), " ", "")
For j = 2 To 5
cell2 = Replace("A" + Str(j), " ", "")
If cell1 <> cell2 And Range(cell1).Value = Range(cell2).Value Then
Rows(j).Delete shift:=xlUp
k = k + 1
End If
Next j
Next i
If k <> 0 Then
MsgBox Sqr(k) & " ligne(s) supprimée(s)"
Else
MsgBox "Aucun Doublon"
End If
End Sub
Ca va me servir à moi aussi, donc je me suis dépéché de le faire.
oupsssssssssssssss
sorry sorry
Je vien de me rendre compte que le i va jusqu'à 5 ce qui explique mon erreur.ça ne vient pas de toi.
Excuse moi.
Et merci encore une fois.
En fait je voudrai te montrer un code que j'ai fait et qui ne marche pas comme je veux; en fait j'aimerai qu'il me fasse la somme de toutes les case de la colonne C tant que la case de la colonne A n'est pas "".
Je t'envoie le code et ça me ferait énormément plaisir si tu me réponds pour me dire l'erreur
Merci :-)
Sub Macro1()
Dim i As Integer
Dim j As Integer
Dim somme As Long
j = 2
For i = 1 To 11
'Boucle sur les cellules de la colonne A
'On sort de la boucle si la cellule testée (Cells(i, 1)) est vide
While Not IsEmpty(Cells(i, 1))
somme = Range("C" & i).Value
While IsEmpty(Cells(j, 1))
somme = somme + Range("C" & j).Value
Range("B" & i).Value = somme
j = j + 1
Wend
Next i
Wend
End Sub
sorry sorry
Je vien de me rendre compte que le i va jusqu'à 5 ce qui explique mon erreur.ça ne vient pas de toi.
Excuse moi.
Et merci encore une fois.
En fait je voudrai te montrer un code que j'ai fait et qui ne marche pas comme je veux; en fait j'aimerai qu'il me fasse la somme de toutes les case de la colonne C tant que la case de la colonne A n'est pas "".
Je t'envoie le code et ça me ferait énormément plaisir si tu me réponds pour me dire l'erreur
Merci :-)
Sub Macro1()
Dim i As Integer
Dim j As Integer
Dim somme As Long
j = 2
For i = 1 To 11
'Boucle sur les cellules de la colonne A
'On sort de la boucle si la cellule testée (Cells(i, 1)) est vide
While Not IsEmpty(Cells(i, 1))
somme = Range("C" & i).Value
While IsEmpty(Cells(j, 1))
somme = somme + Range("C" & j).Value
Range("B" & i).Value = somme
j = j + 1
Wend
Next i
Wend
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
5 août 2008 à 13:37
5 août 2008 à 13:37
Le code que je t'es proposé, y'a quelques p'tits trucs a rajoutés.
Déja j = 1 dans la boucle, puis 5 ce n'était qu'un exemple ;), et surment d'autres choses à revoir.
Concernant ton code y'a deux choses (pour le moment car ça fonctionne pas ^^)
D'une tu ouvres une boucle for, puis une while puis une while. Mais quand tu fermes, tu fermes une while puis for puis while. Donc erreur ;)
Il faut aussi que tu déclares somme = 0 au début on sait jamais.
De plus il me semble que ton code s'execute à l'infini donc plantage.
Déja j = 1 dans la boucle, puis 5 ce n'était qu'un exemple ;), et surment d'autres choses à revoir.
Concernant ton code y'a deux choses (pour le moment car ça fonctionne pas ^^)
D'une tu ouvres une boucle for, puis une while puis une while. Mais quand tu fermes, tu fermes une while puis for puis while. Donc erreur ;)
Il faut aussi que tu déclares somme = 0 au début on sait jamais.
De plus il me semble que ton code s'execute à l'infini donc plantage.
Salut
désolé(e) de te déranger encore une fois mais en fait le code que tu m'as passé ne fait pas les mises à jour il supprime juste les lignes qui se répètent à partir de la deuxième fois(je veux dire il ne modifie pas les valeurs de la première ligne supposant par les valeurs de la 5ème ligne par exemple ( sachant qur le nom de la 5 éme ligne est le même que celui de la première)
Cei dit le code que je t'ai envoyé marche maintenant ,je l'ai corrigé.
Merci encore une fois
désolé(e) de te déranger encore une fois mais en fait le code que tu m'as passé ne fait pas les mises à jour il supprime juste les lignes qui se répètent à partir de la deuxième fois(je veux dire il ne modifie pas les valeurs de la première ligne supposant par les valeurs de la 5ème ligne par exemple ( sachant qur le nom de la 5 éme ligne est le même que celui de la première)
Cei dit le code que je t'ai envoyé marche maintenant ,je l'ai corrigé.
Merci encore une fois
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
5 août 2008 à 22:45
5 août 2008 à 22:45
Ok si ça marche c'est cool ;)
Met ton sujet en "Résolu"
Bonne soirée !
Met ton sujet en "Résolu"
Bonne soirée !
4 août 2008 à 16:00
4 août 2008 à 23:59
Merci pour ta réponse
Ce que je veux faire c'est avoir une macro qui permet de vérifier les doublons sur la première colonne et et modifier la ligne dont le nom existe en double par ses données c'est ce que j'appelle mise à jour ,sachant que le nom qui est unique je garde les même données.
Merci d'avance pour la réponse :-)
5 août 2008 à 08:29
J'aurais fait un bouton sur lequel tu mets une macro.
Puis tu fais deux boucles. la 2eme qui vérifie un enregistrement(cellule) avec les autres et la 1ere qui change d'enregistrement.
Dans la 2eme boucle, tu mets une condition, si elle existe tu deletes sinon tu laisses.
Tu vois le principe?
Si j'ai un peu de temps aujourd'hui j'essaierais de t'élaborer ce code (si tu n'y arrives pas^^)
5 août 2008 à 09:12
Merci pour ta réponse
Je vais essayer d'appliquer ce que tu m'as dit et si j'ai un problème je te tiendrai au courant :-)
Merci encore