Déplacement de valeurs dans des cellules
Résolu/Fermé
Barahaoua
-
27 juin 2016 à 11:22
Arkana0 Messages postés 6365 Date d'inscription mercredi 11 février 2009 Statut Modérateur Dernière intervention 10 février 2023 - 27 juin 2016 à 15:12
Arkana0 Messages postés 6365 Date d'inscription mercredi 11 février 2009 Statut Modérateur Dernière intervention 10 février 2023 - 27 juin 2016 à 15:12
A voir également:
- Déplacement de valeurs dans des cellules
- Formule excel pour additionner plusieurs cellules - Guide
- Historique déplacement google - Guide
- Verrouiller des cellules excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
2 réponses
Arkana0
Messages postés
6365
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
181
27 juin 2016 à 11:55
27 juin 2016 à 11:55
Bonjour,
1) Ton code n'apparaît pas dans ton message
2) Je ne sais pas pour les autres mais j'ai énormément de mal à te comprendre. Ton pseudo suggère que tu n'est peut-être pas français, auquel cas tu peux peut-être t'exprimer en anglais si tu maîtrises mieux. Sinon prends ton temps et fait un effort d'expression et de clarté.
Je vais maintenant te répondre avec ce que je pense avoir compris...
Je comprends que ta difficulté est de savoir si la cellule en ligne 7 sur la colonne qui t'intéresse est vide.
Pour cela tu peux utiliser le test
y : la colonne considérée
[...] correspondant au code que tu souhaites exécuter dans la structure "if"
1) Ton code n'apparaît pas dans ton message
2) Je ne sais pas pour les autres mais j'ai énormément de mal à te comprendre. Ton pseudo suggère que tu n'est peut-être pas français, auquel cas tu peux peut-être t'exprimer en anglais si tu maîtrises mieux. Sinon prends ton temps et fait un effort d'expression et de clarté.
Je vais maintenant te répondre avec ce que je pense avoir compris...
Je comprends que ta difficulté est de savoir si la cellule en ligne 7 sur la colonne qui t'intéresse est vide.
Pour cela tu peux utiliser le test
if Cells(7,y).Value = "" then [...] end if
y : la colonne considérée
[...] correspondant au code que tu souhaites exécuter dans la structure "if"
Barahaoua
Messages postés
88
Date d'inscription
jeudi 19 mai 2016
Statut
Membre
Dernière intervention
17 août 2016
Modifié par Barahaoua le 27/06/2016 à 12:05
Modifié par Barahaoua le 27/06/2016 à 12:05
merci pour ta réponse
mais malheureusement c'est pas ce ce que je veux
voila le code que j'ai écris pour cette parti mais il fonctionne pas bien
essey stp de démarer le fichier en cliquant sur le boutons simulation pour voir le fonctionnement
https://www.cjoint.com/c/FFBkd0sj26h
merci
mais malheureusement c'est pas ce ce que je veux
voila le code que j'ai écris pour cette parti mais il fonctionne pas bien
essey stp de démarer le fichier en cliquant sur le boutons simulation pour voir le fonctionnement
Sub EntreePasses()
Dim j As Long
Dim TUN1(2, 6) As String
Dim m As String
For j = 0 To 4
If Range("O7") <> "" Then Cells(8, 20 - j) = Cells(8, 19 - j).Value
If Range("P7") <> "" Then Cells(8, 19 - j) = Cells(8, 18 - j).Value
If Range("Q7") <> "" Then Cells(8, 18 - j) = Cells(8, 17 - j).Value
If Range("R7") <> "" Then Cells(8, 17 - j) = Cells(8, 16 - j).Value
If Range("S7") <> "" Then Cells(8, 16 - j) = Cells(8, 15 - j).Value
If Range("T7") <> "" Then Cells(8, 15 - j) = Cells(8, 14 - j).Value
j = j + 1
Next j
Cells(8, 15) = Range("B5").Value
End Sub
https://www.cjoint.com/c/FFBkd0sj26h
merci
Arkana0
Messages postés
6365
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
181
27 juin 2016 à 14:31
27 juin 2016 à 14:31
Donc si j'ai compris....
Dans un premier temps la cellule O8 prend la valeur renseignée en A6.
Ensuite P8 prend la valeur de O8
Suite à cela, O8 prend la valeur en A7, Q8 prend la valeur de P8, qui prend la nouvelle valeur de O8, qui va prendre la valeur en A8, et ainsi de suite, jusqu'à ce qu'il n'y ait plus de valeur renseignées dans la colonne A ?
Si tel est le cas, tu t'es emmêlé les pinceaux dans ton code. et il aurait plutôt cette allure-là :
Les corrections apportées :
- J'ai supposé que les tests signifiaient que tu vérifiais si la cellule précédente était remplie et que si tel était le cas, tu prenais sa valeur. Il faut donc modifier l'ordre de tes test, ainsi que les lignes concernées. (ici ligne 7)
- Dans ton code la cellule T7 prenait la valeur de S7, puis de R7, etc. Ce qui créait un décalage. Elle n'a besoin de prendre que la valeur en S7 à chaque tour. Idem pour chaque colonne.
- Ta colonne O va chercher ses valeurs en A6 à Ax, Tu dois donc aller regarder la ligne A6+j à chaque tour
- Ton j s'incrémentait deux fois : une fois avec j = j+1, puis avec "next j". Pour coller à ce que tu décrivais, tu auras effcectivement besoin de la ligne j = j+1, mais pas dans une boucle qui fait elle-même varier j.
Dans un premier temps la cellule O8 prend la valeur renseignée en A6.
Ensuite P8 prend la valeur de O8
Suite à cela, O8 prend la valeur en A7, Q8 prend la valeur de P8, qui prend la nouvelle valeur de O8, qui va prendre la valeur en A8, et ainsi de suite, jusqu'à ce qu'il n'y ait plus de valeur renseignées dans la colonne A ?
Si tel est le cas, tu t'es emmêlé les pinceaux dans ton code. et il aurait plutôt cette allure-là :
Sub EntreePasses()
Dim j As Long
Dim TUN1(2, 6) As String
Dim m As String
For j = 0 To 4
If Range("S7") <> "" Then Cells(7, 20) = Cells(7, 19).Value
If Range("R7") <> "" Then Cells(7, 19) = Cells(7, 18).Value
If Range("Q7") <> "" Then Cells(7, 18) = Cells(7, 17).Value
If Range("P7") <> "" Then Cells(7, 17) = Cells(7, 16).Value
If Range("O7") <> "" Then Cells(7, 16) = Cells(7, 15).Value
If Range("A" & 6 + j) <> "" Then Cells(7, 15) = Cells(6 + j, 1).Value
Next j
Cells(8, 15) = Range("B5").Value
End Sub
Les corrections apportées :
- J'ai supposé que les tests signifiaient que tu vérifiais si la cellule précédente était remplie et que si tel était le cas, tu prenais sa valeur. Il faut donc modifier l'ordre de tes test, ainsi que les lignes concernées. (ici ligne 7)
- Dans ton code la cellule T7 prenait la valeur de S7, puis de R7, etc. Ce qui créait un décalage. Elle n'a besoin de prendre que la valeur en S7 à chaque tour. Idem pour chaque colonne.
- Ta colonne O va chercher ses valeurs en A6 à Ax, Tu dois donc aller regarder la ligne A6+j à chaque tour
- Ton j s'incrémentait deux fois : une fois avec j = j+1, puis avec "next j". Pour coller à ce que tu décrivais, tu auras effcectivement besoin de la ligne j = j+1, mais pas dans une boucle qui fait elle-même varier j.
Barahaoua
Messages postés
88
Date d'inscription
jeudi 19 mai 2016
Statut
Membre
Dernière intervention
17 août 2016
27 juin 2016 à 15:01
27 juin 2016 à 15:01
c'est bon merci j'ai trouver la solution merci beaucoup pour l'aide
Arkana0
Messages postés
6365
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
181
>
Barahaoua
Messages postés
88
Date d'inscription
jeudi 19 mai 2016
Statut
Membre
Dernière intervention
17 août 2016
27 juin 2016 à 15:12
27 juin 2016 à 15:12
Dans ce cas, tu peux cliquer sur le bouton "résolu" en haut à gauche :)